python基础第三章(eval函数,各种数据类型及数据类型转换,算数运算符相关(4种)的使用)

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


 


 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值