输入函数input()
输入两个数实现加法
a = input('输入第一个数') #将第一个数赋值给a
b = input('输入第二个数') #第二个数赋值给b
print(a+b)
#这样的话,假如输入两个数分别为10 20
#那么输出的结果为 1020
#这是因为输入的数为字符串格式,要实现运算需要进行类型转换
输入函数和运算符_输入函数
a = int(input('输入第一个数'))
b = int(input('输入第二个数'))
print(type(a),type(b))
print(a+b)

输入函数和运算符_运算符优先级_02


运算符
1.算术运算符
print(8+7) #加法运算 
print(9-6) #减法运算
print(6*6) #乘法运算
print(9/6) #除法运算
print(9//6)#整除运算
print(8%5) #取余运算
print(6**3)#幂运算 6的三次方

输入函数和运算符_输入函数_03

#对整除的运算符,若是一正一负的运算数,需要额外讨论
#一正一负的整数运算,向下取整
print(9//4) #2
print(9//-4) #-3
print(-9//4) #-3

#取余(%)的运算符,对一正一负,也需额外讨论
#一正一负,套用公式:余数 = 被除数 - 除数 * 商
print(9%-4) = 9 - (-4) * (-3) = -3
print(-9%4) = (-9)- 4 *(-3) = 3

输入函数和运算符_运算符_04

2.赋值运算符
#执行顺序:右到左

#支持链式赋值,举例说明
a = b = c = 30
#所创建的三个变量由于值(value)相同,所以指向相同的内存,id号相同

输入函数和运算符_比较运算符_05

#支持参数赋值
a = 8
b = 7
a += b #相当于a=a+b
a -= b #相当于a=a-b
a *= b #相当于a=a*b
a /= b #相当于a=a/b
a //= b#相当于a=a//b
a %= b #相当于a=a%b

输入函数和运算符_运算符优先级_06

#支持系列解包赋值
a,b,c = 8,7,6

#用系列解包赋值实现value互换
a,b = b,a
#即a与b的值互换

输入函数和运算符_运算符_07

3.比较运算符
#比较运算符返回的值类型为bool类型,即为True或者False
a,b = 99,88

print(a>b) #True
print(a<b) #False
print(a>=b) #True
print(a<=b) #False
print(a==b) #False
print(a!=b) #True

输入函数和运算符_输入函数_08

#还有一个特别的比较运算符 is 和 is not
#与 == 大致相同,不同的是 == 比较的是value,is和is not 比较的是 id

a = 10
b = 10
print(a == b) #value相同的话,返回True,否则返回False
print(id(a),id(b))
print(a is b) #id相同的话,返回True,否则返回False


输入函数和运算符_运算符优先级_09

4.布尔运算符
#分别为 and , or , not
#and --> A and B ,A 和 B全为True时返回True,其他情况返回False
a = 10
b = 20
print(a==10 and b==20) #全为真,返回True
print(a!=10 and b!=20) #全为假,返回False
print(a==10 and b!=20) #一真一假,返回False

#or --> A or B , A 和 B全为False时返回False,其他情况返回True

print(a==10 or b==20) #全为真,返回True
print(a!=10 or b!=20) #全为假,返回False
print(a==10 or b!=20) #一真一假,返回True


#not --> not A , 对A进行取反,如果A为True,返回Flase,为False,返回True
print( not a==10) #a==10为True,返回False
print( not a!=10) #a!=10为False,返回True

输入函数和运算符_输入函数_10

#还有一种bool运算符 --> in 和 not in

s = 'lazycat'
print('a' in s) #a在字符串s中,返回True
print('a' not in s)
print('m' not in s) #m不在字符串s中,返回Tr

输入函数和运算符_运算符_11

5.位运算符
#位运算符 --> &  | << >>

#按位与 &
a = 4
b = 8
print(a&b)
#a --> 00000100
#b --> 00001000 #1 & 1 得 1,其他情况得0
#按位与 00000000 即得到的结果为0

#按位或 |
print(a|b) #0 | 0 得 0,其他情况得1
#a --> 00000100
#b --> 00001000
#按位或 00001100 即得到的结果为12

#左移 << #高位溢出舍弃,低位补0
print(a<<1)
#左移1位相当于乘以2,两位相当于乘以4,以此类推
#因此所得结果为 4 * 2 = 8

#右移 >> #低位溢出舍弃,高位补0
print(a>>1)
#右移1位相当于除以2,两位相当于除以4,以此类推
#因此所得结果为 4 / 2 = 2

输入函数和运算符_运算符优先级_12

6.运算符的优先级

算数运算符 > 位运算符 > 比较运算符 > bool运算符 > =运算符

即  **  大于 *, / , // , %  大于 > , < , >= , <= , == , != 大于 and , or 大于 =