运算符号:
运算符 | 描述 |
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反, 正负号 |
* / % // | 乘,除,模,整除 |
+ - | 加,减 |
>> << | 右移,左移 |
& | 按位与 |
^ | | 按位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 成员运算符 |
例子:
# 加法
print(111+100)
# 减法
print(111-100)
# 乘法
print(111*100)
# 除法
print(111/100)
# 求模
print(111%100)
# 整除
print(111//100)
# 求幂
print(111**100)
运行结果:
211
11
11100
1.11
11
1
34064175269...
赋值运算符号
赋值运算符应该是最为常见的运算符,它的作用是将右边的值赋给左边的变量。
a = 5
b = 3
# 相当于 a = a + b
a += b
# 相当于 a = a * (a+2)
a *= a + 2
print(a)
运行结果:
80
比较运算符和逻辑运算符的使用
ex_01 = 1 == 1
ex_02 = 3 > 2
ex_03 = 2 < 1
ex_04 = ex_03 and ex_02
ex_05 = ex_02 or ex_03
ex_06 = not(1 != 2)
print('ex_01 =', ex_01)
print('ex_02 =', ex_02)
print('ex_03 =', ex_03)
print('ex_04 =', ex_04)
print('ex_05 =', ex_05)
print('ex_06 =', ex_06)
运算结果:
ex_01 = True
ex_02 = True
ex_03 = False
ex_04 = False
ex_05 = True
ex_06 = False
注意:
not
后面的布尔值如果是True
,运算结果就是False
;而not
后面的布尔值如果是False
,运算结果就是True
and
字面意思是“而且”,所以and
运算符会连接两个布尔值,如果两个布尔值都是True
,那么运算的结果就是True
;左右两边的布尔值有一个是False
,最终的运算结果就是False
。
or
字面意思是“或者”,所以or
运算符也会连接两个布尔值,如果两个布尔值有任意一个是True
,那么最终的结果就是True。
例子:华氏度温度转换为摄氏温度
f = float(input('请输入华氏度温度:'))
c = (f-32)/1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
# 或者使用 print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')
注意:上面print
函数中的字符串%.1f
是一个占位符,稍后会由一个float
类型的变量值替换掉它。同理,如果字符串中有%d
,后面可以用一个int
类型的变量值替换掉它,而%s
会被字符串的值替换掉。除了这种格式化字符串的方式外,还可以用下面的方式来格式化字符串,其中{f:.1f}
和{c:.1f}
可以先看成是{f}
和{c}
,表示输出时会用变量f
和变量c
的值替换掉这两个占位符,后面的:.1f
表示这是一个浮点数,小数点后保留1位有效数字。
例子:输入圆的半径计算计算周长和面积
radius = float(input('请输入圆的半径:'))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print(f'周长:{perimeter:.2f}')
print(f'面积: {area:.2f}')
运行结果:
请输入圆的半径:2
周长:12.57
面积: 12.57
例子:输入年份判断是不是闰年
year = int(input('请输入年份:'))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(is_leap)