一、混合数字类型自动升级
a=True+3
print(a) #4
b=False*3
print(b) #0
在 python中False对应数字 0,True 对应非0的数字(默认为1)。
二、数字类型强制转换
x=2
y=3.4
z=x+y
print(z,type(z)) #5.4 <class 'float'>
z=int(z)
print(z,type(z)) #5 <class 'int'>
z=float(z)
print(z,type(z)) #5.0 <class 'float'>
#凡是用input输入的数据,皆为字符串
x=input("请输入:")
print(x,type(x)) #3 <class 'str'>
注意:
#这段代码输入的为整型,运行成功;输入的为浮点型,则提示出错
price=input('请输入西红柿单价:')
a=int(price)
print(a,type(a))
#解决
price=input('请输入西红柿单价:')
a=float(price)
b=int(a)
print(b,type(b))
x=int(float(input('请输入人数:')))
print(x,type(x))
三、进制转换
1.十进制->其他进制
#注意:使用函数进制转换后,结果皆为字符串类型
a=120
b=hex(a) #十六进制
print(b,type(b))
a=hex(0o42) #八进制->十六进制
print(a,type(a))
a=119
b=oct(a) #八进制
print(b,type(b))
a=12
b=bin(a) #二进制
print(b,type(b))
2.其他进制->十进制
a=int('11',8)
print(a) #9
b=int('11',16)
print(b) #17
c=int('11',2)
print(c) #3
四、引用
1.改变引用
a=15
print(type(a)) #<class 'int'>
a='tom'
print(type(a)) #<class 'str'>
2.共享引用
多个变量可以指向同一块内存,我们称之为共享引用。
a=10
b=a
print(a==b) #True
print(a is b) #True
# a改变了指向不影响b的指向
a=10
b=a
a=5
print(b) #10
五、变量间运算
1.加法和乘法(数字、字符串)
a=3
b=4
c=a+b
print(c) #7
print(a*b) #12
#字符串拼接
a='3'
b='4'
c=a+b
print(c) #34
#重复
a='abc'
b=a*3
print(b) #abcabcabc
2.‘//’–向下取整,丢弃小数部分
两个运算数有小数,结果就是小数。
a=-9.5
b=3
c=a//b
print(c) #-4.0
a=10
b=3
c=a//b
print(c) #3
3.‘**’幂
a=5
print(5**2) #25
print(5**3) #125
4.‘%’取余
b=5%3
print(b) #2
应用
#数字倒置
a = int(input('请输入一个三位数:'))
x = a % 10
y = a // 10 % 10
z = a // 100
b = x * 100 + y * 10 + z
print(b)
#循环版
x = int(input("请输入一个整数:"))
y = 0
while x != 0:
y = y * 10 + x % 10
x = x // 10
print(y)
#输出50以内所有的偶数
a=1
while a<50:
if a%2==0:
print(a)
a+=1
#砍价--砍掉小数和个位数
#1
price=float(input("请输入西红柿单价:"))
num=float(input('请输入斤数:'))
m=int(price*num)//10*10 #int()--去掉小数 //10*10--去掉个位
print(m)
#2
price=float(input("请输入西红柿单价:"))
num=float(input('请输入斤数:'))
money=int(price*num)
money=money-money%10
print(money)
5.复合赋值运算符( 自增运算)
a=4
a+=5
print(a) #9
a-=5
print(a) #4
a*=2
print(a) #8
a/=2
print(a) #4.0
a%=5
print(a) #4.0
a//=2
print(a) #2.0
a**=3
print(a) #8.0
六、ASCII转换函数
1.chr()函数–将一个整数转换为一个字符
a=65
print(chr(a)) #A
2.ord()函数–参数为字符,返回值为它对应的ASKII码值
#输入一个大写字母,判断这个大写字母是字母表中第几个字母
a=input('请输入一个大写字母:')
print(ord(a)-65+1)
七、str()函数
a=4
b=str(a)
print(b,type(b)) #4 <class 'str'>
a=4.5
b=str(a)
print(b,type(b)) #4.5 <class 'str'>
八、eval()函数
参数为字符串,用来计算在字符串中的有效 python 表达式,并返回一个对象。
a='1+2'
print(a) #1+2
b=eval(a)
print(b) #3