第二章 内置对象、运算符、表达式、关键字
1. Python常用内置对象
Python中一切都是对象。内置对象可以直接使用,标准库对象需要导入后使用,扩展库对象需要先安装相应的扩展库然后才能导入并使用。
1. 常量与变量
变量的值可以改变,变量的类型也可以改变。在Python中,不需要事先声明变量名及其类型,赋值语句可以直接创建任意类型的变量。
赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存储进去,最后创建变量并指向这个内存地址。也就是说,**Python变量并不直接存储值,而实存储了值的内存地址或者引用。
Python是一种强类型语言,Python解释器会根据赋值运算符右侧表达式的值自动推断变量类型。
变量名规范:
- 变量名必须以字母或下划线开头
- 变量名中间不能有空格或者标点符号
- 不能使用关键字作为变量名
- 变量名对英文字母大小写敏感
- 不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名做变量名
2. 数字类型
内置的数字类型有整数、实数和复数,以及2(以0b开头)、8(以0o开头)、10、16(以0x开头)进制
Python支持任意大的数字,由于精度的问题,实数运算可能会有一定的误差,以二者之差的绝对值是否足够小作为两个实数是否相等的依据。
为了提高可读性,Python支持在数字中间位置插入单个下划线,下划线可以出现在中间任意位置,但不能是开头和结尾,也不能连续的使用下划线
1_000_000 #也就是1000000
3. 字符串
Python使用单引号、双引号、三单引号、三双引号作为定界符来表示字符串,并且不同的定界符之间可以相互嵌套,其中中文和英文都是作为一个字符对待,甚至可以用中文作为变量名。
支持使用+
连接字符串,使用*
对字符串进行重复,使用切片访问字符串中的一部分字符,还可使用一些内置函数或标准库对象对字符串进行操作。
x = 'Hello World'
x = "Hello World"
x = '''Hello World'''
x = 'hello' + "World" #字符串连接
x = "Hello world " * 2 #字符串重复
4. 列表、元组、字典、集合
这四种是内置的容器对象,可以包含多个元素
2. Python运算符和表达式
运算符优先级:算术运算符,位运算符,成员测试运算符,关系运算符,逻辑运算符。建议增加括号以说明逻辑。
1. 算数运算符
-
+
:算数加法,用于列表、 元组、字符串的连接,不支持不同对象之间的连接 -
*
:算数乘法,用于列表、元组、字符串这几个序列类型与整数类型的乘法,表示重复,生成新的序列对象 -
/
和//
:分别为算数除法和算数求整商(向下取整)3/2 #1.5 15//4 #3 15.0/4 #3.0 -15//4 #-4
-
%
:整数或实数的求余数运算,还可以用于字符串格式化123.45 % 3.2 #1.549999999999996 '%c, %d' % (65, 65) #把65分别格式化为字符和整数 'A, 65' '%f, %s' % (65, 65) #把65分别格式化为实数和字符串 '65.000000, 65'
-
**
幂运算
2. 关系运算符
关系运算符可以连用,要求操作数之间必须可比较大小
1 < 3 < 5 #等效于1 < 3和3 < 5 True
3 < 5 > 2 #True
'Hello' > 'World' #比较字符串大小(比较ASCII码)
{
1, 2} < {
1, 2, 3} #测试是否是子集 True
{
1, 2} == {
1, 2, 3} #测试是否相等 False