用来执行基本的数学运算
+
:加法
-
:减法
*
:乘法
/
:除法
%
:取模(取余数)
**
:幂运算
//
:整除(取整数部分)
==
:等于
!=
:不等于
<
:小于
>
:大于
<=
:小于等于
>=
:大于等于
and
:与(逻辑与)
or
:或(逻辑或)
not
:非(逻辑非)
and运算:两者同时为真,结果才为真,例如:
x and y
其运算步骤是,先判断x的bool值,为True的话,整个表达式输出为y的值,为False整个表达式输出为x的值。
or运算:两者有一个为真,结果就为真,例如:
x or y
其运算步骤是,先判断x的bool值,为True的话,整个表达式输出为x的值。为false输出就为y的值。
not运算:将表达式的结果取非。
-=
:减法赋值
*=
:乘法赋值
/=
:除法赋值
%=
:取模赋值
**=
:幂运算赋值
//=
:整除赋值
&:按位与
|
:按位或
^
:按位异或
~
:按位取反
<<
:左移位
>>
:右移位
用于比较对象的内存地址(即身份)
is:判断对象是否相同
is not:判断对象是否不同
反回的是一个bool值
用于检查一个值是否是某个集合的成员
in
:判断值是否存在于序列中
not in
:判断值是否不存在于序列中
返回的也是一个bool值。
例如:
max = a if a>b else b
如果a>b成立,就把 a 作为整个表达式的值,并赋给变量 max; a> b 不成立,就把 b 作为整个表达式的值,并赋给变量 max。
推导式是 Python 特有的一种表达式形式。可以用更简洁的方式创建列表、字典和集合。
a = [1, 2, 3, 4]
result = [x * 2 for x in a]
还可以加入if语句用于判断,例如:
a = [1, 2, 3, 4]
result = [x * 2 for x in a if x % 2 == 0]
a = ['a', 'b', 'c']
result = {x: ord(x) for x in a}
a = [1, 2, 3, 4]
result = {x * 2 for x in a}
匿名函数的简化表达式,用于创建小型、一次性的函数。基本格式如下:
lambda arguments: expression
arguments:一个或多个输入参数,可以是位置参数或关键词参数。
expression:一个单一的表达式,它的值将作为返回值返回。
Lambda函数常常与高阶函数如 map()
、filter()
和 sorted()
等一起使用。
函数调用时传递参数的方式有多种,包括位置传参、关键词传参、多个参数解包、参数默认值等。
还可以使用* args可让函数接受任意数量的位置参数。*args会将多余的位置参数收集成一个元组,可用于没有固定参数的情况。还可以使用**kwargs 让函数接受任意数量的关键词参数。**kwargs 会将多余的关键词参数收集成一个字典。
变量的作用域(Scope)是指在程序中某个变量的有效范围,也就是在代码的哪个部分可以访问或修改该变量。作用域定义了变量的可见性和生命周期。
Python中的变量作用域遵循LEGB规则(Local, Enclosing, Global, Built-in),依次搜索变量的定义位置。可以理解为,如果一个变量,在当前的作用域没找到,也就是未被定义过,那就去外部作用域找,如果还是没有,就去全局作用域,直到找到,如果都没有就会报错。外层作用域中的变量,在内层中可访问,但不可修改,但是内层中的变量,外层不可访问。如果想在函数中修改全局变量,需要使用global
关键字,声明这个变量是全局变量中的那个变量。