Python学习(二)
第二章 基础语法
2.1 数据类型
2.1.1 Python变量的赋值和基本数据类型
Python中的变量不需要声明,但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建,等号(=)用来给变量赋值。等号(=)左边是一个变量名,等号(=)右边是存储在变量中的值。例如:x=5;示例(以#开头的是Python中的单行注释,多行注释使用三个单引号(''')或三个双引号(""")):
number = 120 #变量名是"number",数字整型变量
price = 120.0 #变量名是"price",数字浮点型变量
name = "Smily" #变量名是"name",字符串
print (number) #print ()输出
print (price)
print (name)
'''
命名变量要注意:
1:变量名字尽量有意义
2:变量名字不能数字开头
'''
运行结果:
120
120.0
Smily
Python中有六个标准的数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)。
2.1.2 数字
Python中数字数据类型用于存储数值,支持3种不同的数值类型。
1:整型(int):整型是正整数或负整数,不带小数点。
2:浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示。
3:复数(complex):复数由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
2.1.3 字符串
1.创建字符串
可以使用单引号或双引号创建字符串。代码:
v1 = 'study Python'
v2 = "SMILY"
2.访问字符串中的值
访问字母串可以使用方括号来截取字符串,方括号中的数字表示截取元素的索引。字符串中的字符从左到右索引默认从0开始,从右到左索引默认从-1开始。截取时,包括开始位置的元素,但不包括结束位置的元素。代码:
v1 = 'study Python'
v2 = "SMILY"
print (" v1 [6:9] : ",v1 [6:9]) #截取v1的第七个到第九个字符,注意空格也是字符
print (" v2 [0] : ",v2 [0]) #截取v2的第一个字符
运行结果:
v1 [6:9]:Pyt
v2 [0]:S
【注意】:字符串、列表和元组都是Python序列,序列是Python中最基本的数据结构。数列中的每个元素都分配一个数字,即它的索引。
3.转义字符
Python用反斜杠(\)转义字符。
\ (在行尾时) 续行符 \\ 反斜杠符号
\'' 双引号 \b 退格
\000 空 \n 换行
\oyy 八进制数yy代表的字符,例如\o12代表换行
\xyy 十六进制数yy代表的字符,例如\x0a代表换行
\' 单引号 \e 转义 \r 回车
示例:
v1 = 'study Python'
v2 = "SMILY"
print (" v1 :",v1)
print (" \\")
print (" v2 :",v2)
运行结果:
v1 :study Python
\
v2 :SMILY
4.字符串格式化
将一个值插入到一个有字符串格式符%s的字符串中。
print ("悦来自 %s 今年 %d 岁!" % ('沈阳',19))
运行结果:
悦来自 沈阳 今年 19 岁!
Python常用字符串格式化符号:
%s 格式化字符串 %u 格式化无符号整型
%x 格式化无符号十六进制数
%o 格式化无符号八进制数
%d 格式化整数 %e 用科学计数法格式化浮点数
2.1.4 列表
1.创建列表并访问
列表不需要具有相同的类型。创建一个列表,只要把不同的数据项用逗号分隔,使用方括号括起来即可。代码:
list 1 = ['学习','语言',2000,2019]
list 2 = [5,59,6,12]
print ("list1[0]: ",list1[0])
print ("list2[1:4]: ",list2[1:4])
运行结果:
list1[0]: 学习
list2[1:4]: [59,6,12]
2.更新和删除列表元素
更新代码:
list = ['学习','语言',2000,2019]
print("第三个元素是:",list[2])
list[2] = 2022
print ("更新后的第三个元素是:",list[2])
运行结果:
第三个元素是: 2000
更新后的第三个元素是:2022
删除元素代码:
list = ['学习','语言',2000,2019]
print("第三个元素是:",list[2])
del list[2]
print ("删除第三个元素后:",list)
运行结果:
第三个元素是: 2000
删除第三个元素后:['学习','语言',2019]
2.1.5 元组
1.元组的创建
元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。创建元组,只需要在小括号中添加元素,并使用逗号隔开。代码:
tup1 = ('学习','语言',2000,2019)
创建空元组代码:
tup1 = ()
元组只包含一个元素时,需要在元素后面添加符号。代码:
tup1 = (19,)
2.访问元组元素及删除元组(从左到右元组的下标索引从0开始)
访问元组元素代码:
tup1 = ('学习','语言',2000,2019)
tup2 = (5,59,6,12)
print("tup1[0]: ",tup1[0])
print("tup2[1:4]: ",tup2[1:4])
运行结果:
tup1[0]: 学习
tup2[1:4]: (59,6,12)
删除元组代码:
元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。代码:
tup = ('学习','语言',2000,2019)
del tup
print (tup)
以上代码中元组被删除后,会输出异常信息“NameError: name 'tup' is not defined”提示。
2.1.6 字典
1.创建字典
字典由键和对应值成对组成(键/值对又称条目或元素),字典也被称作关联数组或哈希表。代码:
dict = {'ID':'18301','Name':'smily','Age':19}
【注意】:
每对对键与值用冒号隔开,各对之间用逗号分隔,整体放在花括号中。键必须独一无二,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串、数或元组。
2.访问字典的值
dict = {'ID':'18301','Name':'smily','Age':19}
print("dict ['Name']: ",dict ['Name'])
运行结果:
dict ['Name']: smily
3.修改字典的值
增加新的键值对或修改已有的键值对。代码:
dict = {'ID':'18301','Name':'smily','Age':19}
dict ['Age'] = 20 #修改‘Age’数据项
dict ['school'] = "SYU" #增加一个新的键值对
print("dict ['Age']: ",dict ['Age'])
print("dict ['school']: ",dict ['school'])
运行结果:
dict ['Age']: 20
dict ['school']: SYU
4.删除字典元素
可以删除字典里的单一元素,也可以清空字典所有元素,还可以删除整个词典。代码:
dict = {'ID':'18301','Name':'smily','Age':19}
del dict ['Name'] #删除键是Name数据项
dict . claer () #清空词典所有数据
del dict #删除词典
2.1.7 集合
集合里的元素是无序不重复的,集合可以有任意数量的元素,元素可以是不同的类型,如数字,元组,字符串等。要创建集合,可以将所有元素放在花括号内,以逗号分隔,或者使用set()函数。要创建一个没有任何元素的集合,使用set()函数(不包含任何参数)。代码:
s1 ={1,2, 'A'} #用花括号创建集合
s2 = set ('Python') #用set()函数创建集合
s3 = set ('Hello') #用set()函数创建集合
s4 = set () #创建空集合
print (s1) #注意观察结果的无序性
print (s2)
print (s3) #互异性和无序性
print (s4) #输出空集合
运行结果:
{1,2,'A'}
{'p','h','n' ,'o','t','y',}
{ 'o','H','e','l'}
set ()
注意:因为集合具有无序性,所以每次的运行结果可能不同。
2.2 Python的基本运算符
运算符是用来表示某种运算的符号。Python中常用的运算符有算术运算符,字符串运算符,比较运算符,赋值运算符,逻辑运算符,成员运算符等。
2.2.1 算术运算符
算术运算符用来实现数学运算。代码:
a = 9 #对a赋值
b = 2
print(a + b) #“+” 加法运算
print(a - b) #“-” 减法运算
print(a * b) #“*” 乘法运算
print(a / b) #“/” 除法运算,返回浮点数
print(a % b) #“%” 模运算,返回余数
print(a ** b) #“**” a的b次幂
print(a // b) #“//” , 整除,返回向下取整后的结果
print(9.0 // 4.0) #“//” 整数,对浮点数执行的也是整数
运行结果:
11
7
18
4.5
1
81
4
2.0
2.2.2 字符串运算符
字符串运算符用于对字符串的操作。代码:
a = "Study"
b = "Python"
print("a + b 输出结果:",a + b) #“+”,字符串连接
print("a * 2 输出结果:",a * 2) #“*”,字符串重复连接输出
print("a[1] 输出结果:",a[1])
print("a[1:4] 输出结果:",a[1:4]) #"[ : ]",截取字符串的一部分
print (r'\n')
print (R'\n') #“r”,“R”,表示进行不转义处理,后面的字符串原样输出
运行结果:
a + b 输出结果:StudyPython
a * 2 输出结果:StudyStudy
a[1] 输出结果:t
a[1:4] 输出结果:tud
\n
\n
2.2.3 比较运算符
比较运算符用于比较它两边的值,并确定两边的关系。代码:
a = 1
b = 2
print (a = = b) #“= =” ,如果两个数的值相等,为真
print (a ! = b) #“! =” ,如果两个数的值不相等,为真
print (a > b) #“ > ” ,如果左大于右,为真
print (a < b) #“ < ” ,如果左小于右,为真
print (a > = b) #“ > =” ,如果左大于等于右,为真
print (a < =b) #“ <= ” ,如果左小于等于右,为真
运行结果:
False
True
False
True
False
True
2.2.4 赋值运算符
赋值运算符是将等号右边的值赋给等号左边的变量。代码:
a = 9
b = 100
c = a + b #"=",将a + b的值赋给c
print (c)
c + = a #“+ =”,即c = c + a
print (c)
c - = a #“- =”,即c = c - a
print (c)
c * = a #“* =”,即c = c * a
print (c)
c / = a #“/ =”,即c = c / a
print (c)
c % = a #“% =”,即c = c % a
print (c)
c * *= a #“* *=”,即c = c * * a
print (c)
c / /= a #“/ /=”,即c = c / / a ,“//” 整数,对浮点数执行的也是整数
print (c)
运行结果:
109
118
109
981
109.0
1.0
1.0
0.0
2.2.5 逻辑运算符
逻辑运算符就是C语言中的“与”,“或”,“非”,在Python中里分别表示为 and、or、not。代码:
a = True
b = False
print (a and b) #“and”,两个数都为真,则返回值为真
print (a or b) #“or”,两个数任意一个为真,则返回值为真
print ( not b) #“not”,真则假,假则真。反转逻辑状态。
运行结果:
False
True
True
2.2.6 成员运算符
a = 5
b = 2
list = [1,2,3]
if (a in list ) :
print ("a 在列表中")
else :
print ("a 不在列表中")
# "in",在列表中找到变量的值,返回True,否则,False
if (b not in list ) :
print ("b 不在列表中")
else :
print ("b 在列表中")
# "not in",在列表中找不到变量的值,返回True,否则,False
运行结果:
a 不在列表中
b 在列表中
2.3 运算符的优先级
Python运算符的优先级是指在计算表达式时,执行运算的先后顺序。先执行具有较高优先级的运算,然后执行较低优先级的运算,常用的几种运算符优先级由高到低依次为幂运算符、正负号、算术操作符、比较操作符、逻辑运算符。代码:
print (-4**2) #先进行幂运算
print (-4**2/2>=3+6/2)
运行结果:
-16
False