Python基础教程:全面解析算术、逻辑与位运算符
本文系统介绍Python中的各类运算符,涵盖算术、比较、赋值、逻辑、身份、位及成员运算符。详细解析各运算符的语法、优先级及实际应用,通过代码示例演示and、or、is、&等核心操作,帮助初学者掌握Python编程基础。
Python算术与比较运算符基础
在Python编程中,运算符是构建逻辑的核心元素。本节主要介绍算术运算符,即用于执行数学计算的符号。
| 运算符 |
|---|
| + |
| - |
| * |
| / |
| % |
| **(幂)求次方 |
| //(取整除,向下取整)如:9//2 =4 |
接下来探讨比较运算符,这类运算符用于比较两个值之间的关系,并返回布尔结果。
| 运算符 |
|---|
| == |
| != |
| <>(不等于,类似!=) |
| < |
| > |
| >= |
| <= |
#举例说明:
x = 10
y = 20
print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True
print(x == y) # False
print(x != y) # True
Python赋值运算符详解
赋值运算符用于将右侧的值赋给左侧的变量,支持多种复合赋值形式。
| 运算符 |
|---|
| = |
| += |
| -= |
| *= |
| /= |
| %= |
| **= |
| //= |
x = 10 # (一元赋值运算符)
y = 20
# x = x+y # x += y
x += y # (二元赋值运算符)
x += 10
print(x)
x -= y
print(x)
x *= y
print(x)
x /= y
print(x)
x **= y # x = x**y
print(x)
y //= x # x = x//y
print(y)
x %= y # x = x%y
print(x)
Python逻辑运算符应用
逻辑运算符主要用于逻辑判断、布尔值处理及循环控制等场景,其最终返回值为True或False。
逻辑运算符属于二元运算符,常用于条件判断中。
| 运算符 |
|---|
| and |
| or |
| not |
and运算符表示逻辑与,只有当两个操作数都为真时,结果才为真;否则结果为False。
print(1>1 and 2>3) # False
print(10>1 and False) # False
or运算符表示逻辑或,只要有一个操作数为真,结果即为真;仅当所有操作数均为False时,结果才为False。
age = 18
inp_age= input('age:')
print(age==inp_age or True) # True
print(True or False) # True
print(False or False) # False
not运算符表示逻辑非,用于反转操作数的布尔状态。
print(not True) # False
print(not False) # True
Python身份运算符与内存管理
身份运算符用于比较两个对象在内存中的存储位置,通过比较对象的id来返回布尔值。
身份运算符通过比较两个元素的对象标识符(id)来判断它们是否指向同一内存地址,返回布尔值。
需要注意的是,值相同的对象其id不一定相同(例如较大的整数或字符串可能因缓存机制而不同),但id相同的对象其值一定相同。
| 运算符 | 描述 | 实例 |
|---|---|---|
| is | is是判断俩个标识符是不是引用自一个对象,类似== | x is y(返回bool值) |
| is not | is not是判断俩个标识符是不是引用自不同的对象,类似!= | x is not y(返回bool值) |
x=1000
y=1000
print(id(x))
print(id(y))
print(x is y) # False
print(x is not y) # True
print(not x is y) #False
Python位运算符与二进制计算
位运算符用于对数字的二进制形式进行逐位计算。
Python中的位运算符将数字视为二进制数进行运算,具体法则如下。
以下示例中,变量a的值为60,变量b的值为13,它们的二进制格式如下所示。
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^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 |
| ~ | 按位取反运算符:对数据的每一个二进制位取反,即把0变成1,把1变成0。~x类似于-x-1. | (~a)输出的结果位-61,二进制解释:1100 0011,在一个有符号二进制的补码形式。 |
| << | 左移动运算符:运算符的各二进制位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0. | a<<2,输出结果为240,二进制解释为:1111 0000 |
| >> | 右移动运算符:把>>左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数。 | a>>2输出结果为15,二进制的解释为:0000 1111 |
Python成员运算符与序列检测
除了上述运算符外,Python还支持成员运算符,用于测试实例是否存在于特定的序列中。
成员运算符用于检测一个值是否包含在字符串、列表或元组等序列中,返回相应的布尔结果。
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值饭后True,否则返回False。 | x 在y 的序列中,x in y 返回True |
| not in | 如果在指定的序列中没有找到值,返回True,否则返回False | x 不在y的序列中,x not iny 返回True |
Python运算符优先级总结
最后,了解Python运算符的优先级对于编写正确的表达式至关重要。
| 运算符 | 描述 |
|---|---|
| ** | 指数(最高优先级) |
| ~ +- | 按位翻转,一元加号和减号(最后俩个的方法命名为+@和-@) |
| */%// | 乘,除,取模(求余),取整除 |
| +- | 加减法 |
| >> << | 右移,左移运算符 |
| & | 位'AND‘ |
| ^| | 位运算符 |
| <=,<,>,>= | 比较运算符 |
| <>,==,!= | 等于运算符 |
| =,%=,/=,//=,**=,*=,+=,-= | 等于运算符 |
| is,is not | 身份运算符 |
| in,not in | 成员运算符 |
| not ,and,or | 逻辑运算符 |
本文介绍了Python入门教程中的基本算术及各类运算符,更多相关内容请搜索本站以前的文章或继续浏览后续文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









