特别提示:本文省略或简写了一些与其他语言相同的运算符的使用规则,主要挑选Python特有的运算符语法。
常用运算符
除了这里介绍的运算符外,Python还有其他运算符,但是不再一一介绍。
算数运算符
Python支持的算数运算符(Arithmetic Operator)为基本的加、减、乘、除等运算,算数运算符需要有两个操作数来构成表达式。
算数运算符所操作的操作数的数据类型可以为整形、浮点型、复数、布尔型等。在实数运算中,如果算数运算符中有一个操作数为浮点数,其表达式的返回值就为浮点型。
当然,“+”、“*”、“%”也可以用于字符串的操作中
1.“+”:表示字符串的连接;
2.“*”:表示重复输入字符串;
3.“%”:表示字符串格式化。
1
2
3 print('Python'+'Lover') #输出 PythonLover
print('Python'*4) #输出 PythonPythonPythonPython
print('I love %s'%('Python')) #输出 I love Python
赋值运算符
这个没什么好说的,直接上图:
比较运算符
这个同样也没什么好说的,直接上图:
逻辑运算符
可能图中写的有点不好理解,其实跟我们平时使用的都一样,就是换一种说法。
and 就可以理解成 &&
or 就可以理解成 ||
not 就可以理解成 !
身份运算符
身份运算符分为 is 和 is not 两种,其主要用于判断两个对象所对应的id是否相等。
(P.S.这里涉及到了上一篇博文的最后一部分 可变(Mutable)与不可变(Immutable)的知识,强烈建议复习一下)
1.如果两个变量a,b指向同一个储存对象,即变量a和b的id相等,则表达式“a is b”的返回值为True,“a is not b”的返回值为False。
2.如果两个变量a,b指向不同的储存对象,即变量a和b的id不相等,则表达式“a is b”的返回值为False,“a is not b”的返回值为True。
3.在Python中,对象都有自己的id,身份运算符的操作对象可以是一切对象。
4.大小写字母的id是不同的!布尔型的True和整数型的1的id也是不同的!
5.萌新请注意,重点在这里,“is”和“==”的区别。“is”比较的是内存地址是否相等,而“==”则比较的是对象的值是否相等。“is”的判断关键取决于对象是可变的还是不可变的,而“==”只关心值是否相等。
成员运算符
成员运算表示某一对象是否属于一个序列,成员运算符分为 in 和 not in 两种。
1.若a是序列b中的元素之一,则表达式“a in b”的返回值为True,表达式“a not in b”的返回值为False。
2.若a不是序列b中的元素之一,则表达式“a in b”的返回值为False,表达式“a not in b”的返回值为True。
1
2
3
4
5
6
7
8
9
10 a = 2
b = [3,4,2]
c = {2,3,4}
d = (2,4,5)
print(a in b) #输出True
print(a in c) #输出True
print(a in d) #输出True
print('2' in b) #输出False
print('2' in c) #输出False
print('2' in d) #输出False
注意:对于一个字符串序列来说,成员运算符的左侧的操作数必须为字符串类型,否则会报错。1
2
3a = 'abc123'
b = 2
print(b in a) #报错 上一句 b = 2 改为 b = '2'即可
运算符的优先级
老生常谈,直接上图,优先级顺序从高到低:
具有运算功能的内置函数
特别特别好用的内置函数,Python内置函数位于Python标准库(Standard Library),Python环境自带标准库。
想要查询Python的内置函数,我们可以通过Python另一个内置函数dir()来实现1
print(dir(__builtins__))
在这里我们主要讨论的是与运算有关的内置函数。
先放表,然后给大家写一下例子。1
2
3
4
5
6
7
8
9
10
11
12
13print(sum([1.1,2.1,3.1,4.1])) #求序列元素之和,输出10.4
print(pow(6,2)) #幂运算6的2次方,输出36
print(divmod(6,2)) #整除(6/2)和取模(6%2),输出(3,0)
print(abs(-666)) #绝对值,输出666
print(all([3>2,6<9])) #迭代对象都为True,才输出True,输出True
print(all([2,3,5,6,7])) #输出True
print(any([2,3,5,6,7])) #迭代对象有一个为True,才输出True,输出True
print(any([])) #迭代对象为空,输出False
print(max(6,9)) #输出最大值,输出9
print(max([2,3,5,6,7])) #输出7
print(min(6,9)) #输出最小值,输出6
print(min([2,3,5,6,7])) #输出2
print(round(3.748,2)) #求与3.748相近的数,返回小数点2位,输出3.75
本文部分整理转载自《量化投资:以Python为工具》蔡立耑 仅供学习研究之用,侵删。