1. 运算符
运算符的概念
• 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
运算符的分类
• 算术运算符
• 赋值运算符
• 比较运算符(关系运算符)
• 逻辑运算符
• 条件运算符(三元运算符)
1.1 算术运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
*注:两个字符串不能进行减法运算 - 乘法运算符 表现形式 *
注:两个字符串相乘(其中一个字符串为整数,否则不能执行或者无意义,例如,‘abc*abc会执行错误,’abc‘-3无法运算)等于这个字符串的重复出现次数
- 除法运算符 表现形式 /
*注:分母不能为0,且总是返回一个浮点类型 - // 整除,只会保留计算后的整数位,总会返回一个整型或者浮点类型,取决于运算时的数是否浮点类型
- % 取模,求两个数相除的余数
- ** 幂运算,求一个值的几次幂
*注:也可以用**0.5表示开平方
1.2 赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
• += (x+= 3 相当于 x = x + 3 )
• -= (x -= 3 相当于 x= x - 3 )
• *= (x = 3 相当于 x = x 3 )
• **= (x **= 3 相当于 x = x ** 3 )
• /= (x /= 3 相当于 x = x/ 3 )
• //= (x //= 3 相当于 x = x // 3 )
• %= (x %= 3 相当于 x= x % 3 )
1.3 比较运算符(关系运算符)
• 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
• > 比较左侧值是否大于右侧值
• >= 比较左侧的值是否大于或等于右侧的值
• < 比较左侧值是否小于右侧值
• <= 比较左侧的值是否小于或等于右侧的值
注:若出现多个字符比较,则对位比较。例如:x = ‘abc’>‘bcd’,#为False。因为先比较第一位‘a’与‘b’,而‘a’与‘b’两个字符的比较是比较ASCII码,可在python console页面输入命令ord(‘a’)查询对应的ASCII码,所以为false。剩余的位不用再比较。
不同类型的对象不能使用“<,<=,=>,>”进行比较(浮点和整数可以),却可以使用“==”和“!=”,例如字符串和数字
• 特殊的比较方式
• == 比较两个对象的值是否相等
注:两个对象的值相对,但不一定为同一对象,每个对象都有唯一对应的内存地址。
!= 比较两个对象的值是否不相等
• is 比较两个对象是否是同一个对象,比较的是对象的id
• is not 比较两个对象是否不是同一个对象,比较的是对象的id
注:id就是对象对应的唯一内存地址
1.4 逻辑运算符
- not 逻辑非
not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True - and 逻辑与
and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
注:与运算是找False的,如果第一个值为False,则不再看第二个值
- or 逻辑或
或运算两个值中只要有一个True,就会返回True
注:或运算是找True的
-
非布尔值的与或运算
当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值非布尔值与运算的规则
与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值非布尔值或运算的规则
或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值
1.5 条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2