eval()函数
可执行语句,通常与input语句连用,可以将字符型转换为浮点型,方便进行判断和运算
代码例子
s='3.14+3' print(type(s)) x=eval(s)#去掉字符串的左右引号然后执行加法 print(x) print(type(x)) #eval函数经常和input函数连用 age=eval(input("请输入你的年龄")) print(age,type(age)) q='北京欢迎你' print(q) print(type(q)) print(eval('q')) print(type(q)) #用eval函数的对象要被定义,否则报错
代码运行结果
6.140000000000001
<class 'float'>
请输入你的年龄18
18 <class 'int'>
北京欢迎你
<class 'str'>
北京欢迎你
<class 'str'>
保留字和标识符
#特殊的英文单词,查询保留字 严格区分大小写,标识符就是名字 import keyword print(keyword.kwlist)#显示保留字 print(len(keyword.kwlist))#显示个数
代码结果
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
35
变量常识
luck_number=8 my_name='0123' print('luck_number的数据类型是',type(luck_number))#查询数据类型 print('my_name的数据类型是',type(my_name)) print(my_name,'的幸运数字是',luck_number) ''' 变量名全部大写默认为常量 ''' no=number=8#可以同时赋值 print(no,number) print(id(no))#查看内存地址 print(id(number))
代码运行结果
luck_number的数据类型是 <class 'int'>
my_name的数据类型是 <class 'str'>
0123 的幸运数字是 8
8 8
140722908320776
140722908320776
字符串类型
city='泉州' address='泉州晋江内坑' print(city) print(address) info=''' 泉州 重庆 手机号:1234658555 ''' info2=""" 泉州 重庆 手机号:1234658555 """ print(info) print('----------------') print(info2) print('北京\n欢迎你')#\n换行 print('北京\t欢迎你') print('10000\t000000000')#一个制表位8个字符前面5个字符8-5=3所以会空3个字符的位置 print('111111111\t11') print('老师说:\"好好学习,天天向上"')#输出引号内容 print(r"北京\n欢迎你")#r或R为原义字符可以让转义字符失效 s='hellowworld' print(s[0:2])#字符的索引s[n:m] 正向 print(s[-8:-3])#从右往左 逆向 print(s[:2])#n默认为0 print(s[0:])#m默认到末尾为止 x='2022年' y='北京冬奥会' print(x+y)#连接 print(x*10)#内容加倍 print('上海'in y)#false print('北京'in y)#ture
代码运行结果
泉州
泉州晋江内坑
泉州
重庆
手机号:1234658555
----------------
泉州
重庆
手机号:1234658555
北京
欢迎你
北京 欢迎你
10000 000000000
111111111 11
老师说:"好好学习,天天向上"
北京\n欢迎你
he
lowwo
he
hellowworld
2022年北京冬奥会
2022年2022年2022年2022年2022年2022年2022年2022年2022年2022年
False
True
布尔类型
x=True y=False print(bool(x)) print(x+10)#ture为1 print(y+10)#false为0 print(bool(0)) print(bool(0.0)) print(bool('北京欢迎你')) print(bool('')) print(bool(18)) print(bool(None)) print(type(x)) ''' 非0为ture 空字符,空集合等等为false false和none为false '''
代码运行结果
True
11
10
False
False
True
False
True
False
<class 'bool'>
数据类型
num1=520 num2=0b011111#二进制 num3=0o25254#8进制 num4=0xF25#16进制 print(num1) print(num2) print(num3) print(num4) num5=10.0#浮点型 print('num5的数据类型是',type(num5)) num6=1010e12#科学计数法 print(num6) print(0.1+0.2) print(round(0.1+0.2,1))#保留一位小数
代码运行结果
520
31
10924
3877
num5的数据类型是 <class 'float'>
1010000000000000.0
0.30000000000000004
0.3
数据类型的转换
x=10 y=22 print(type(x)) print(float(x)) z=10.0 print(int(z)) print(int(10.0)) #int float转换中不能有字母 print(int(3.14)) #字符串转int或float报错的情况 ''' print(int('3.14'))#里面本来不是整数 print(Int('18a'))不是十进制 ''' print(ord('代')) print(chr(20195))#相互转换 print(hex(20050519))#16进制 print(oct(20050519))#8进制 print(bin(20050519))#2进制
代码运行结果
<class 'int'>
10.0
10
10
3
20195
代
0x131f257
0o114371127
0b1001100011111001001010111
算数运算符
print('加法=',1+1)
print('减法=',1-1)
print('乘法=',1*1)
print('除法=',1/1)
print('整除法=',1//1)
print('取余=',10%3)
print('幂运算=',2**2)
赋值运算符
x=10
y=20
x+=y#将x+y的值赋给x其余运算一致
x*=y
x//=y
x%=y#发生数据类型转换
x/=y#发生数据类型转换
x**=y
#支持链式赋值
a=b=c=100#相当于a=100,b=100,c=100
print(a,b,c)
#支持系列解包赋值
a,b=10,20
print(a,b)
#所以可以用来交换两个变量的值
a,b=b,a
print(a,b)
比较运算符
print("98大于93吗",98>93)
print("98小于93吗",98<93)
print("98等于93吗",98==93)
print("98不等于于93吗",98!=93)
print("98不大于93吗",98<=93)
print("98不小于93吗",98>=93)
print("98大于93吗",98>93)
print("98大于93吗",98>93)
逻辑运算符
print(5>3 and 4<3)#and前面为假则后面不执行
print(1<2 and 1<3)#一个为假就为假
print('~'*40)
print(5>3 or 4<3)#一个为真就为真 前面为真后面不执行
print(1<2 or 1<3)
print('~'*40)
print(not True)#取反
print(not False)
print(not(4>5))
代码运行结果
加法= 2
减法= 0
乘法= 1
除法= 1.0
整除法= 1
取余= 1
幂运算= 4
100 100 100
10 20
20 10
98大于93吗 True
98小于93吗 False
98等于93吗 False
98不等于于93吗 True
98不大于93吗 False
98不小于93吗 True
98大于93吗 True
98大于93吗 True
False
True
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
True
True
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
False
True
True