跳至主要內容

常见计算

Akkiri...大约 4 分钟数据分析机器学习PythonPython

几类运算符

Python 中的运算符可以分为以下几类:

  • 算术运算符:用于数学计算,例如加法 +、减法 -、乘法 *、除法 /、取余数 %、乘幂 ** 等。
  • 比较运算符:用于比较两个值之间的关系,例如等于 ==、不等于 !=、大于 >、小于 <、大于等于 >=、小于等于 <= 等。
  • 逻辑运算符:用于处理布尔型数据,例如与 and、或 or、非 not 等。
  • 赋值运算符:用于给变量赋值,例如等号 =、自加运算 +=、自减运算 -=、自乘运算 *=、自除运算 /=
  • 成员运算符:用于检查一个值是否为另一个值得成员,例如 innot in 等。
  • 身份运算符:用于检查1两个变量是否引用同一个对象,例如 isis not 等。

以上是 Python 中常见的运算符,可以根据不同的场景选择合适得运算符进行操作。

加减法

加法运算符 (+) 用于将两个数值相加或将两个字符串拼接起来。

注意

当进行加法运算时,如果操作数的类型不一致,Python 会自动进行类型转换。如果一个数是整数,而另一个是浮点数,则整数会被转换为浮点数,然后进行加法运算,运算结果为浮点数。加法时,如果一个数是整数,而另一个是复数,则整数会被转换为复数,然后进行加法运算,结果为复数。如果一个操作数是浮点数,而另一个是复数,则浮点数会被转换为复数,然后进行加法运算,运算结果为复数。

减法运算符 - 用于将两个数值相减,不支持字符串运算,错误信息为 TypeError: unsupported operand type(s) for -: 'str' and 'str'

乘除法

乘法运算符 (*) 用于将两个数值相乘或将一个字符串重复多次。

除法运算符 / 用于将两个数值相除,结果为浮点数。

取模运算符 % 用于获取两个数值相除的余数,比如 10 % 3 的结果为 1。幂运算符 ** 用于将一个数值的幂次方,比如 2**3 的结果为 8。

成员运算符

Python 中成员运算符用于测试是否存在于序列中。共有两个成员运算符:a) in:如果在序列中找到值,返回 True,否则返回 False。b) not in:如果在序列中没有找到值,返回 True,否则返回 False。

下面是使用例:

# 定义一个列表
my_list = [1, 2, 3, 4, 5]

# 判断元素是否在列表中
print(3 in my_list) # True
print(6 in my_list) # False

# 判断元素是否不在列表中
print(3 not in my_list) # False
print(6 not in my_list) # True

身份运算符

Python 身份运算符包括 isis not,用于判断两个对象是否引用同一个内存地址。

下面是使用例:

import copy
a = [1, 2, 3]
b = a 
# 视图 b 引用 a 的内存地址
c = [1, 2, 3]
d = a.copy()

print(a is b) 
# 输出 True,因为 a 和 b 引用同一个内存地址
print(a is not c) 
# 输出 True,因为 a 和 c 引用不同的内存地址
print(a == c) 
# 输出 True,因为 a 和 c 的值相等
print(a is not d) 
# 输出 True,因为 a 和 d 引用不同的内存地址
print(a == d) 
# 输出 True,因为 a 和 d 的值相等

a_2_layers = [1, 2, [3, 4]]
d_2_layers = a_2_layers.copy()
e_2_layers = copy.deepcopy(a_2_layers)

print(a_2_layers is d_2_layers)
print(a_2_layers[2] is d_2_layers[2]) # 请特别关注

print(a_2_layers is e_2_layers)
print(a_2_layers[2] is e_2_layers[2])

运算优先级

在 Python 中,不同类型的运算符优先级是不同的,当一个表达式中有多个运算符时,会按照优先级的顺序依次计算,可以使用括号改变运算顺序。下面是 Python 中常见的运算符优先级列表,从高到低排列:

  • 括号运算符:(),用于改变运算顺序。

  • 正负号运算符:+x-x,用于对数字取正负。

  • 算术运算符:***///%,用于数字的算术运算。

  • 位运算符:~&|^<<>>,用于二进制位的运算。

  • 比较运算符:<<=>>===!=,用于比较大小关系。

  • 身份运算符:isis not,用于判断两个对象是否相同。

  • 成员运算符:innot in,用于判断一个元素是否属于一个集合。

  • 逻辑运算符:notandor,用于逻辑运算。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5