Python基础 运算符

1. 运算符

1.1 运算符的概念

	运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例
	如:2+3,其操作数是2和3,⽽运算符则是“+”

1.2 运算符的分类

		算术运算符
		赋值运算符
		⽐较运算符(关系运算符)
		逻辑运算符
		条件运算符(三元运算符)

2. 算术运算符

  	   减法运算符 表现形式 -
		乘法运算符 表现形式 *
		除法运算符 表现形式 /
		// 整除,只会保留计算后的整数位,总会返回⼀个整型
		% 取模,求两个数相除的余数
		** 幂运算,求⼀个值的⼏次幂

3. 赋值运算符

	复制运算符的特殊写法 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 )

4. ⽐较运算符

	⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成
	⽴,返回True,否则返回False
	\> ⽐较左侧值是否⼤于右侧值
	\>= ⽐较左侧的值是否⼤于或等于右侧的值
	< ⽐较左侧值是否⼩于右侧值
	<= ⽐较左侧的值是否⼩于或等于右侧的值
	特殊的⽐较⽅式
	== ⽐较两个对象的值是否相等
	!= ⽐较两个对象的值是否不相等
	is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
	is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id

5. 逻辑运算符

5.1 not 逻辑⾮

		not可以对符号右侧的值进⾏⾮运算对于布尔值,⾮运算会对其进⾏取反操
		作,True变False,False变True

5.2 and 逻辑与

	and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,
	只要有⼀个False就返回False
	
	与运算是找False的,如果第⼀个值为False,则不再看第⼆个值

5.3 or 逻辑或

	或运算两个值中只要有⼀个True,就会返回True
	或运算是找True的

5.4 ⾮布尔值的与或运算

当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值

⾮布尔值与运算的规则
与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,
则直接返回第⼀个值,否则返回第⼆个值

⾮布尔值或运算的规则
或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,
则直接返回第⼀个值,否则返回第⼆个值

6. 条件运算符(三元运算符)

	条件运算符在执⾏时,会先对条件表达式进⾏求值判断
	如果判断结果为True,则执⾏语句1,并返回执⾏结果
	如果判断结果为False,则执⾏语句2,并返回执⾏结果
	语法: 语句1 if 条件表达式 else 语句2

7. 运算符的优先级

	1.元组,字典,列表(…){…}[…]
	
	2.切片运算s[i],s[i:j]
	
	3.取属性运算 s.attribute
	
	4.调用运算 s()
	
	5.一元运算符 +x,-x,~x
	
	6.幂运算 x**y
	
	7.算数运算 * ,/,//,%
	
	8.算数运算+ ,-
	
	9.位运算 位移运算 <<,>>,
	
	10.位运算 按位与&
	
	11.位运算 按位抑或 ^
	
	12.位运算 按位或 |
	
	13.比较操作符 <,<=,>,>=,==,!=
	
	14.对象实例测试 is ,not is
	
	15.成员关系判断 in,not in
	
	16.逻辑操作符 not

8.四种格式化字符串的方式

s1 = ‘521’
s2 = ‘xxx’
s3 = ‘嫁给我好吗’

1 拼串

 print('s = '+s1+' '+s2+' '+s3)
 # 结果为 s = 521 xxx 嫁给我好吗

2 参数的传递

 print('s =', s1, s2, s3)
 # 结果为 s = 521 xxx 嫁给我好吗

3 占位符

 print('%s %s %s' % (s1, s2, s3))
 # 结果为 s = 521 xxx 嫁给我好吗

4 str.format

 print('{0} {1} {2}'.format(s1, s2, s3))
 # 结果为 s = 521 xxx 嫁给我好吗

9.通过条件运算符获取三个值中的最大值

a, b, c = 22, 33, 44
maxNum = (a if a > b else b)
maxNum = (c if c > maxNum else maxNum)
# print(maxNum)
maxNum_Name = ('a' if a == maxNum else None)
maxNum_Name = ('b' if b == maxNum else None)
maxNum_Name = ('c' if c == maxNum else None)
print('最大值为 %s = %d' % (maxNum_Name, maxNum))

# 结果为 最大值为 c = 44

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页