Fork me on GitHub

Python运算符及使用

特别提示:本文省略或简写了一些与其他语言相同的运算符的使用规则,主要挑选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 就可以理解成 !

身份运算符

身份运算符分为 isis 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”的判断关键取决于对象是可变的还是不可变的,而“==”只关心值是否相等。

成员运算符

成员运算表示某一对象是否属于一个序列,成员运算符分为 innot 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
3
a = '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
13
print(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为工具》蔡立耑 仅供学习研究之用,侵删。

-------------本文结束感谢您的阅读-------------