假期第(5)天
原始字符串
l 字符串界定符前面加字母r或R表示原始字符串,其中
的特殊字符不进行转义,但字符串的最后一个字符
不能是\。原始字符串主要用于正则表达式、文件路
径或者URL的场合
>>> path = 'C:\Windows\notepad.exe'
>>> print(path) #字符\n被转义为换行符
C:\Windows
otepad.exe
>>> path = r'C:\Windows\notepad.exe' #原始字符串,任何字符都
不转义
>>> print(path)
C:\Windows\notepad.exe
数字与字符串42
4
2
运算符
运算符
功能说明
+
算术加法,列表、元组、字符串合并与连接,正号
-
算术减法,集合差集,相反数
*
算术乘法,序列重复
/
真除法
//
求整商,但如果操作数中有实数的话,结果为实数形式的整数
%
求余数,字符串格式化
**
幂运算
<、<=、>、>=、
==、!=
(值)大小比较,集合的包含关系比较
or
逻辑或
and
逻辑与
not
逻辑非
in
成员测试
is
对象同一性测试,即测试是否为同一个对象或内存地址是否相同
|、^、&、<<、>>、~ 位或、位异或、位与、左移位、右移位、位求反
&、|、^
集合交集、并集、对称差集
@
矩阵相乘运算符
运算符与表达式4
43
3
运算符+
l +运算符除了用于算术加法以外,还可以用于列表、
元组、字符串的连接,但不支持不同类型的对象之间
相加或连接
>>> [1, 2, 3] + [4, 5, 6] #连接两个列表
[1, 2, 3, 4, 5, 6]
>>> (1, 2, 3) + (4,) #连接两个元组
(1, 2, 3, 4)
>>> 'abcd' + '1234' #连接两个字符串
'abcd1234'
>>> 'A' + 1 #不支持字符与数字相加,抛出异常
TypeError: Can't convert 'int' object to str implicitly
>>> True + 3
#Python内部把True当作1,False当作0
4
运算符与表达式4
4
44
集合运算符
l 集合运算符的用法:
>>> {1, 2, 3, 4, 5} - {3} #差集
{1, 2, 4, 5}
>>> {1, 2, 3, 4, 5} | {6} #并集
{1, 2, 3, 4, 5, 6}
>>> {1, 2, 3, 4, 5} & {3} #交集
{3}
>>> {1, 2, 3, 4, 5, 6} ^ {5, 6, 7, 8} #对称差集
{1, 2, 3, 4, 7, 8}
运算符与表达式4
5
45
运算符*
l *运算符不仅可用于数值乘法,还可用于列表、字符
串、元组等类型,当列表、字符串或元组等类型变量
与整数进行"*"运算时表示对内容进行重复并返回重
复后的新对象。字典和集合不支持与整数的相乘,因
为其中的元素是不允许重复的
>>> True * 3
3
>>> (3+4j) * (3-4j) #复数与复数相乘
(25+0j)
>>> "a" * 10 #字符串重复
'aaaaaaaaaa'
>>> [1,2,3] * 3 #列表重复
[1, 2, 3, 1, 2, 3, 1, 2, 3]
运算符与表达式4
6
4
6
运算符/和//
l 运算符/和//在Python中分别表示算术除法和算术求整
商(
floor division)
>>> 3 / 2
#数学意义上的除法
1.5
>>> 15 // 4 #如果两个操作数都是整数,结果为整数
3
>>> 15.0 // 4 #如果操作数中有实数,结果为实数形式的整数值
3.0
>>> -15//4
#向下取整(与C不同)
-4
运算符与表达式4
7
4
7
运算符%
l %运算符除去可以用于字符串格式化之外,还可以对
整数和浮点数计算余数。但是由于浮点数的精确度影
响,计算结果可能略有误差
>>> 3.1 % 2
1.1
>>> 6.3 % 2.1
2.0999999999999996
>>> -17 % 4 #余数与%右侧的运算数符号一致
3
>>> 17 % -4 #(17-(-3))能被(-4)整除
-3
>>> 5.7 % 4.8
0.9000000000000004
运算符与表达式4
8
4
8
关系运算符
l Python关系运算符最大的特点是可以连用,其含义同
我们日常理解。关系运算符使用的前提是操作数之间
必须可比较大小。也可用于测试集合之间的包含关系
>>> 1 < 5 >3
#等价于1 < 5 and 5 > 3
True
>>> 'Hello' > 'world'
#比较字符串大小
False
>>> [1, 2, 3] < [1, 2, 4]
#比较列表大小
True
>>> 'Hello' > 3
#字符串和数字不能比较
TypeError: unorderable types: str() > int()
>>> {1, 2, 3} < {1, 2, 3, 4}
#测试是否子集
True