概述
2.1 Python常用内置对象
- 数字 – int,float,complex
- 字符串 – str
- 字节串 – bytes – e.g. b’hello world’
- 列表 – list – #其中元素可以是任意类型
- 字典 – dict – #元素形式:“键:值”
- 元组 – tuple – #如果元组中只有一个元素,后面的逗号不能省略 --e.g. (3,)
- 集合 – set,frozenset – #元素不重复;set可变,frozenset不可变
- 布尔型 – bool
- 空类型 – NoneType – 空值
- 异常
- 文件 – f=open(‘data.dat’,‘rb’) --#返回文件对象
- 其他迭代对象
- 编程单元 – e.g. 函数,类,模块
2.1.1 常量与变量
x=3
isinstance(x,int)
#内置函数isinstance()用来测试变量是否为指定类型
True
Python中的变量并不直接存储值,而是存储了值的内存地址或引用地址
x = [1,2,3]
x[1] = 5
#修改列表元素值
print(x)
print(x[2])
#输出显示列表制定元素
[1, 5, 3]
3
在Python中定义变量名需注意:
- 变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义
- 变量名中不能有空格或标点符号
- 不能使用关键字作为变量名 #print(keyword,kwlist)查看此版本关键字,在此之前需import keyword
- 不建议使用系统内置模块名、类型名或函数以及已导入的模块及其成员作为变量名 #可通过dir(builtins)查看所有内置对象名称
- 变量名对英文字母的大小写敏感,如student与Student是不同的变量
2.1.2 数字
1. 内置的整数、实数与复数
- 整数
- 二进制:0b 开头
- 八进制:0o 开头
- 十六进制:0x 开头
print(0b11)
print(0o11)
print(0x11)
3
9
17
避免在实数之间直接进行相等性测试,以两者之差的绝对值是否足够小作为两实数是否相等的依据
print(0.4 - 0.1 == 0.3)
print(abs(0.4 - 0.1 - 0.3)<1e-6)
#1e-6表示10的-6次方
False
True
复数类型及其运算
x = 3+4j
y = 5+6j
print(x+y)
print(x*y)
print(x.imag)
#实部
print(x.real)
#虚部
print(abs(x))
#模
print(x.conjugate())
#共轭复数
(8+10j)
(-9+38j)
4.0
3.0
5.0
(3-4j)
2. 分数
3.高精度实数 (详见教材p14)
2.1.3 字符串与字节串
- 单引号、双引号、三单、三双作为定界符,不同定界符见可相互嵌套
x = 'good' + ' morning'
#连接字符串
x = '''Tom said,"Let's go."'''
y = "Tom said,"Let's go.""
print(x)
print(y)
Tom said,"Let's go."
Tom said,"Let's go."
2.1.4 列表、元组、字典、集合
x_list = [1,2,3,4]
print(x_list[2])
#元组同
x_dict = {'a':97,'b':98,'c':99}
print(x_dict['a'])
#字典对象的下标是“键”
x_set = {5,6,7,5,6,8,7,2,3,7,9,8,5,2,1,4,6,8,6,3,8}
print(x_set)
#集合中重复项会自动筛去
12 in x_set
#成员测试
3
97
{1, 2, 3, 4, 5, 6, 7, 8, 9}
False
2.2 Python运算符与表达式
2.2.1 算术运算符
- +运算符可用于列表、元组、字符串的连接,但不支持不同类型的对象之间相加或连接
'abcdefg' + 1
---------------------------------------------------------------------------
TypeError
Traceback (most recent call last)
<ipython-input-34-aab67777ee5f> in <module>
----> 1 'abcdefg' + 1
TypeError: can only concatenate str (not "int") to str
print(True + 3)
#Python内部把True当作1处理
print(False + 4)
#把False当作0处理
4
4
-
*运算符可用于列表、元组、字符串几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。
-
字典和集合不支持与整数的相乘,因为其中的元素不允许重复
-
运算符/和//在Python中分别表示算术除法和算术求整商
print(-15//4)
print(-19//3)
#保证余数为正
-4
-7
- %运算符可以用于整数或实数的求余数运算,还可以用于字符串格式化(不推荐)
print(-10%8)
#-10减去6可以整除8
6
print('%c,%d'%(65,65))
#把65分别格式化为字符(用c表示)和整数(用d表示)
print('%f,%s'%(65,65))
#把65分别格式化为实数(用f表示)和字符串(用s表示)
A,65
65.000000,65
- **运算符表示幂乘,等价于内置函数pow()
print(3**2)
print(pow(3,2,8))
#等价于(3**2)%8
9
1
2.2.2 关系运算符
print('Hello'>'hello')
print([1,1,3]<[2,4])
#???????????????????
print({1,2,3}<{1,2,3,4})
#测试是否为子集
print({1,2,3} == {2,3,1})
#测试两集合是否相等
False
True
True
True
2.2.3 成员测试运算符in与同一性测试运算符is
- 成员测试运算符in测试一个对象是否为另一个对象的元素
- 同一性测试运算符is用来测试两个对象是否是同一个,返回结果为True或False。
- 如果两个对象是同一个,则两者具有相同的内存地址
x = 256
y = 256
print(x is y)
True
x = 257
y = 257
print(x is y)
False
x = [1,2,3]
y = [1,2,3]
print(x is y)
print(x[2] is y[2])
False
True
2.2.4位运算符与集合运算符
-
位运算符只能用于整数,转化为二进制后运算
-
位异或运算规则:11=00=0 、10=01=1
-
集合的交集、并集、对称差集、等运算借助于位运算符来实现,二差集测使用减号运算符实现
-
需注意,并集运算符不是加号
print({1,2,3} | {2,3,4})
#并集
print({1,2,3} & {2,3,4})
#交集
print({1,2,3} ^ {2,3,4})
#对称差集
print({1,2,3} - {2,3,4})
#差集
{1, 2, 3, 4}
{2, 3}
{1, 4}
{1}
2.2.5 逻辑运算符
- 短路问题
print(3>5 and 4<6)
#and中,由于前者为False,不需要计算后者的值
print(3>2 or 4<3)
#or中,由于由于前者为True,不需要计算后者的值
False
True
2.2.6 矩阵乘法运算符@(详见p22)
2.2.7 复合赋值运算符
- x += 3 等同于 x = x+3
- 其余同理
2.3 Python关键字简要说明(详见p24)
import keyword
print(keyword.kwlist)
#查看所有关键字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
最后
以上就是隐形纸鹤为你收集整理的Python--1. 运算符、表达式2.1 Python常用内置对象2.2 Python运算符与表达式2.3 Python关键字简要说明(详见p24)的全部内容,希望文章能够帮你解决Python--1. 运算符、表达式2.1 Python常用内置对象2.2 Python运算符与表达式2.3 Python关键字简要说明(详见p24)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复