企业网站怎么做推广,查网站的建站系统,绵阳做网站的有哪些,女装市场网站建设费用评估什么是运算符#xff1f;
举个简单的例子:
4 5 9
例子中#xff0c;4 和 5 被称为操作数#xff0c; 称为运算符。
Python 语言支持以下类型的运算符:
Python算术运算符
以下假设变量 a10#xff0c;变量 b21#xff1a;
运算符描述实例加 - 两个对象相加a b 输…什么是运算符
举个简单的例子:
4 5 9
例子中4 和 5 被称为操作数 称为运算符。
Python 语言支持以下类型的运算符:
Python算术运算符
以下假设变量 a10变量 b21
运算符描述实例加 - 两个对象相加a b 输出结果 31-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -11*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 210/除 - x 除以 yb / a 输出结果 2.1%取模 - 返回除法的余数b % a 输出结果 1**幂 - 返回x的y次幂a**b 为10的21次方//取整除 - 往小的方向取整数 9//2
4-9//2
-5 以下实例演示了Python所有算术运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 21
b 10
c 0c a b
print (1 - c 的值为, c)c a - b
print (2 - c 的值为, c)c a * b
print (3 - c 的值为, c)c a / b
print (4 - c 的值为, c)c a % b
print (5 - c 的值为, c)# 修改变量 a 、b 、c
a 2
b 3
c a**b
print (6 - c 的值为, c)a 10
b 5
c a//b
print (7 - c 的值为, c)
以上实例输出结果 1 - c 的值为 31
2 - c 的值为 11
3 - c 的值为 210
4 - c 的值为 2.1
5 - c 的值为 1
6 - c 的值为 8
7 - c 的值为 2 Python 比较运算符
以下假设变量 a 为 10变量 b 为20
运算符描述实例等于 - 比较对象是否相等(a b) 返回 False。!不等于 - 比较两个对象是否不相等(a ! b) 返回 True。大于 - 返回x是否大于y(a b) 返回 False。小于 - 返回x是否小于y。所有比较运算符返回1表示真返回0表示假。这分别与特殊的变量True和False等价。注意这些变量名的大写。(a b) 返回 True。大于等于 - 返回x是否大于等于y。(a b) 返回 False。小于等于 - 返回x是否小于等于y。(a b) 返回 True。
以下实例演示了Python所有比较运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 21
b 10
c 0if ( a b ):print (1 - a 等于 b)
else:print (1 - a 不等于 b)if ( a ! b ):print (2 - a 不等于 b)
else:print (2 - a 等于 b)if ( a b ):print (3 - a 小于 b)
else:print (3 - a 大于等于 b)if ( a b ):print (4 - a 大于 b)
else:print (4 - a 小于等于 b)# 修改变量 a 和 b 的值
a 5
b 20
if ( a b ):print (5 - a 小于等于 b)
else:print (5 - a 大于 b)if ( b a ):print (6 - b 大于等于 a)
else:print (6 - b 小于 a)
以上实例输出结果 1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b
5 - a 小于等于 b
6 - b 大于等于 a Python赋值运算符
以下假设变量a为10变量b为20
运算符描述实例简单的赋值运算符c a b 将 a b 的运算结果赋值为 c加法赋值运算符c a 等效于 c c a-减法赋值运算符c - a 等效于 c c - a*乘法赋值运算符c * a 等效于 c c * a/除法赋值运算符c / a 等效于 c c / a%取模赋值运算符c % a 等效于 c c % a**幂赋值运算符c ** a 等效于 c c ** a//取整除赋值运算符c // a 等效于 c c // a:海象运算符这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。Python3.8 版本新增运算符。 在这个示例中赋值表达式可以避免调用 len() 两次: if (n : len(a)) 10:print(fList is too long ({n} elements, expected 10))
以下实例演示了Python所有赋值运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 21
b 10
c 0c a b
print (1 - c 的值为, c)c a
print (2 - c 的值为, c)c * a
print (3 - c 的值为, c)c / a
print (4 - c 的值为, c)c 2
c % a
print (5 - c 的值为, c)c ** a
print (6 - c 的值为, c)c // a
print (7 - c 的值为, c)
以上实例输出结果 1 - c 的值为 31
2 - c 的值为 52
3 - c 的值为 1092
4 - c 的值为 52.0
5 - c 的值为 2
6 - c 的值为 2097152
7 - c 的值为 99864 在 Python 3.8 及更高版本中引入了一种新的语法特性称为海象运算符Walrus Operator它使用 : 符号。这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。
使用海象运算符可以在一些情况下简化代码尤其是在需要在表达式中使用赋值结果的情况下。这对于简化循环条件或表达式中的重复计算很有用。
下面是一个简单的实例演示了海象运算符的使用
实例
# 传统写法
n 10
if n 5:print(n)# 使用海象运算符
if (n : 10) 5:print(n)
海象运算符 : 允许我们在条件语句中同时计算并赋值 n * n然后将结果用于比较这可以减少代码的行数并使代码更紧凑。
Python位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下
下表中变量 a 为 60b 为 13二进制格式如下 a 0011 1100b 0000 1101-----------------ab 0000 1100a|b 0011 1101a^b 0011 0001~a 1100 0011 运算符描述实例按位与运算符参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a b) 输出结果 12 二进制解释 0000 1100|按位或运算符只要对应的二个二进位有一个为1时结果位就为1。(a | b) 输出结果 61 二进制解释 0011 1101^按位异或运算符当两对应的二进位相异时结果为1(a ^ b) 输出结果 49 二进制解释 0011 0001~按位取反运算符对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1(~a ) 输出结果 -61 二进制解释 1100 0011 在一个有符号二进制数的补码形式。左移动运算符运算数的各二进位全部左移若干位由右边的数指定移动的位数高位丢弃低位补0。a 2 输出结果 240 二进制解释 1111 0000右移动运算符把左边的运算数的各二进位全部右移若干位右边的数指定移动的位数a 2 输出结果 15 二进制解释 0000 1111 以下实例演示了Python所有位运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 60 # 60 0011 1100
b 13 # 13 0000 1101
c 0c a b # 12 0000 1100
print (1 - c 的值为, c)c a | b # 61 0011 1101
print (2 - c 的值为, c)c a ^ b # 49 0011 0001
print (3 - c 的值为, c)c ~a # -61 1100 0011
print (4 - c 的值为, c)c a 2 # 240 1111 0000
print (5 - c 的值为, c)c a 2 # 15 0000 1111
print (6 - c 的值为, c)
以上实例输出结果 1 - c 的值为 12
2 - c 的值为 61
3 - c 的值为 49
4 - c 的值为 -61
5 - c 的值为 240
6 - c 的值为 15 Python逻辑运算符
Python语言支持逻辑运算符以下假设变量 a 为 10, b为 20:
运算符逻辑表达式描述实例andx and y布尔与 - 如果 x 为 Falsex and y 返回 x 的值否则返回 y 的计算值。(a and b) 返回 20。orx or y布尔或 - 如果 x 是 True它返回 x 的值否则它返回 y 的计算值。(a or b) 返回 10。notnot x布尔非 - 如果 x 为 True返回 False 。如果 x 为 False它返回 True。not(a and b) 返回 False
以上实例输出结果
实例(Python 3.0)
#!/usr/bin/python3a 10
b 20if ( a and b ):print (1 - 变量 a 和 b 都为 true)
else:print (1 - 变量 a 和 b 有一个不为 true)if ( a or b ):print (2 - 变量 a 和 b 都为 true或其中一个变量为 true)
else:print (2 - 变量 a 和 b 都不为 true)# 修改变量 a 的值
a 0
if ( a and b ):print (3 - 变量 a 和 b 都为 true)
else:print (3 - 变量 a 和 b 有一个不为 true)if ( a or b ):print (4 - 变量 a 和 b 都为 true或其中一个变量为 true)
else:print (4 - 变量 a 和 b 都不为 true)if not( a and b ):print (5 - 变量 a 和 b 都为 false或其中一个变量为 false)
else:print (5 - 变量 a 和 b 都为 true)
以上实例输出结果 1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true或其中一个变量为 true
5 - 变量 a 和 b 都为 false或其中一个变量为 false Python成员运算符
除了以上的一些运算符之外Python还支持成员运算符测试实例中包含了一系列的成员包括字符串列表或元组。
运算符描述实例in如果在指定的序列中找到值返回 True否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。not in如果在指定的序列中没有找到值返回 True否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
以下实例演示了Python所有成员运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 10
b 20
list [1, 2, 3, 4, 5 ]if ( a in list ):print (1 - 变量 a 在给定的列表中 list 中)
else:print (1 - 变量 a 不在给定的列表中 list 中)if ( b not in list ):print (2 - 变量 b 不在给定的列表中 list 中)
else:print (2 - 变量 b 在给定的列表中 list 中)# 修改变量 a 的值
a 2
if ( a in list ):print (3 - 变量 a 在给定的列表中 list 中)
else:print (3 - 变量 a 不在给定的列表中 list 中)
以上实例输出结果 1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中 Python身份运算符
身份运算符用于比较两个对象的存储单元
运算符描述实例isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) id(y) , 如果引用的是同一个对象则返回 True否则返回 Falseis notis not 是判断两个标识符是不是引用自不同对象x is not y 类似 id(x) ! id(y)。如果引用的不是同一个对象则返回结果 True否则返回 False。
注 id() 函数用于获取对象内存地址。
以下实例演示了Python所有身份运算符的操作
实例(Python 3.0)
#!/usr/bin/python3a 20
b 20if ( a is b ):print (1 - a 和 b 有相同的标识)
else:print (1 - a 和 b 没有相同的标识)if ( id(a) id(b) ):print (2 - a 和 b 有相同的标识)
else:print (2 - a 和 b 没有相同的标识)# 修改变量 b 的值
b 30
if ( a is b ):print (3 - a 和 b 有相同的标识)
else:print (3 - a 和 b 没有相同的标识)if ( a is not b ):print (4 - a 和 b 没有相同的标识)
else:print (4 - a 和 b 有相同的标识)
以上实例输出结果 1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识 is 与 区别
is 用于判断两个变量引用对象是否为同一个 用于判断引用变量的值是否相等。
a [1, 2, 3]b ab is a
Trueb a
Trueb a[:]b is a
Falseb a
True
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符 相同单元格内的运算符具有相同优先级。 运算符均指二元运算除非特别指出。 相同单元格内的运算符从左至右分组除了幂运算是从右至左分组 运算符 描述 (expressions...), [expressions...], {key: value...}, {expressions...} 圆括号的表达式 x[index], x[index:index], x(arguments...), x.attribute 读取切片调用属性引用 await x await 表达式 ** 乘方(指数) x, -x, ~x 正负按位非 NOT *, , /, //, % 乘矩阵乘除整除取余 , - 加和减 , 移位 按位与 AND ^ 按位异或 XOR | 按位或 OR in,not in, is,is not, , , , , !, 比较运算包括成员检测和标识号检测 not x 逻辑非 NOT and 逻辑与 AND or 逻辑或 OR if -- else 条件表达式 lambda lambda 表达式 : 赋值表达式
以下实例演示了Python所有运算符优先级的操作
实例(Python 3.0)
#!/usr/bin/python3a 20
b 10
c 15
d 5
e 0e (a b) * c / d #( 30 * 15 ) / 5
print ((a b) * c / d 运算结果为, e)e ((a b) * c) / d # (30 * 15 ) / 5
print (((a b) * c) / d 运算结果为, e)e (a b) * (c / d) # (30) * (15/5)
print ((a b) * (c / d) 运算结果为, e)e a (b * c) / d # 20 (150/5)
print (a (b * c) / d 运算结果为, e) 以上实例输出结果 (a b) * c / d 运算结果为 90.0
((a b) * c) / d 运算结果为 90.0
(a b) * (c / d) 运算结果为 90.0
a (b * c) / d 运算结果为 50.0 and 拥有更高优先级:
实例
x True
y False
z Falseif x or y and z:print(yes)
else:print(no)
以上实例先计算 y and z 并返回 False 然后 x or False 返回 True输出结果 yes 注意Python3 已不支持 运算符可以使用 ! 代替如果你一定要使用这种比较运算符可以使用以下的方式 from __future__ import barry_as_FLUFL1 2
True