python 运算符

包含:

算术运算符:+-*///%**
比较运算符:==!=><>=<=
逻辑运算符:andornot
位运算符:&|^~<<>>
赋值运算符:=+=-=*=/=//=%=**=&=|=^=<<=>>=
身份运算符:isis not
成员运算符:innot in
条件运算符(三元运算符):expr1 if condition else expr2
切片运算符、格式化字符串运算符等非基本运算符

(1)算术运算符

算术运算符是一组用于数学运算的运算符。在 Python 中,常见的算术运算符包括:

 加法运算符(+)还可以用于字符串的拼接,乘法运算符(*)可以用于字符串或列表等序列类型的重复

/ 表示浮点数除法,// 表示整数除法。/ 的结果会是一个浮点数,即使两个操作数都是整数;而 // 的结果则会是一个整数,如果需要的话会向下取整

对于正数的除法,/ 和 // 的结果是一样的;而对于负数的除法,/ 的结果会向下取整,而 // 的结果会向上取整

python2和python3版本的/除法对整数的运算有所不同

(2)比较运算符

比较运算符用于比较两个值,并返回一个布尔值,即True或False。以下是Python中的比较运算符:

 这些运算符可以应用于大多数Python数据类型,包括数字、字符串、列表、元组、集合等。需要注意的是,对于不同类型的对象,比较运算符的行为可能会有所不同,因此需要谨慎使用。例如,对于不同类型的对象,相等运算符(==)可能返回False,而不等于运算符(!=)可能返回True

只有具有可比性的对象才能进行比较运算。如果列表中的元素类型不同,则无法进行比较运算

(3)逻辑运算符:and,or,not

逻辑运算符是用于比较两个条件之间的关系的运算符。在Python中有三个逻辑运算符:
and:如果两个条件都是True,则返回True,否则返回False
or:如果两个条件中有一个是True,则返回True,否则返回False
not:如果条件是False,则返回True,否则返回False

(4)位运算符

位运算符只能用于整数类型,如果对其他类型使用位运算符会引发类型错误

对于二元运算符,参与运算的两个操作数必须具有相同的位长度。如果它们的长度不相同,则会在较短的操作数左侧补零,使它们的长度相同
按位取反运算符(~)将操作数的每一位取反,即将 0 变为 1,将 1 变为 0。但是要注意取反后的值并不是数值的补码,因为补码的表示方法与原码不同
左移运算符(<<)将操作数的二进制表示向左移动指定的位数,右侧用零填充
右移运算符(>>)将操作数的二进制表示向右移动指定的位数,左侧用符号位填充(如果原始值为正,则使用 0 填充,如果原始值为负,则使用 1 填充)
按位与运算符(&)对操作数的二进制表示进行按位与运算,仅当两个操作数的对应位都为 1 时,结果的对应位才为 1
按位或运算符(|)对操作数的二进制表示进行按位或运算,仅当两个操作数的对应位都为 0 时,结果的对应位才为 0
按位异或运算符(^)对操作数的二进制表示进行按位异或运算,仅当两个操作数的对应位不同时,结果的对应位才为 1

(5)赋值运算符

赋值运算符用于给变量赋值

 其中,+=、-=、*=、/=、%=、**=、//= 等复合赋值运算符是对变量进行原地修改,效果等价于执行一次二元运算符,再用运算结果更新变量

Python中的赋值运算符是从右向左执行的。也就是说,在多个赋值语句中,最右边的表达式会先被求值并赋值给左边的变量,然后再依次向左执行

a = b = c = 1

# 一样的
c = 1
b = c
a = b

(6)身份运算符

身份运算符用于比较两个对象的内存地址是否相同,包括is和is not两个操作符。
is操作符返回True如果两个对象的内存地址相同,即它们是同一个对象;is not操作符返回True如果两个对象的内存地址不同,即它们不是同一个对象。
需要注意的是,身份运算符比较的是对象的内存地址,而不是值。所以对于一些不可变对象,如数字、字符串、元组等,由于其值不可改变,因此它们在内存中只有一份,所以它们的身份运算结果可能会出乎意料。例如,对于两个值相等的整数对象,它们的身份运算结果可能不相同,因为它们在内存中可能有不同的地址。

(7)成员运算符

成员运算符用于测试指定值是否为序列的成员,包括字符串、列表、元组、集合和字典

(8)条件运算符(三元运算符)

x if condition else y

其中 condition 是一个条件表达式,当其为真时返回 x,否则返回 y。这个运算符通常用于简单的条件赋值或返回操作,可以简化代码的书写

(9)切片运算符、格式化字符串运算符等非基本运算符

非基本运算符通常是特定模块或对象所定义的运算符,不是 Python 语言本身的运算符

成员访问运算符:用于访问对象的属性或方法,例如 . 和 [],. 用于访问对象的属性,[] 用于访问对象的元素或调用对象的方法。
其他运算符:不同模块或对象可能定义了其他的非基本运算符,例如 NumPy 模块定义了向量的点积运算符 @。

切片运算符:用于从一个序列中获取一个子序列。在Python中,切片运算符用方括号[]表示,可以使用冒号:分隔起始索引和终止索引

sequence[start:stop:step]

sequence为序列对象,如字符串、列表、元组等;
start为切片的起始索引(包含该索引处的元素),默认为0;
stop为切片的终止索引(不包含该索引处的元素),默认为序列的长度;
step为切片的步长,默认为1。
如果省略start,则从序列的第一个元素开始切片;如果省略stop,则切到序列的最后一个元素;如果省略step,则默认为1

格式化字符串:使用花括号({})作为占位符,格式为:"格式字符串".format(值或变量)。其中,格式字符串中的占位符使用大括号括起来,并可以在括号内指定变量或值的格式化方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值