本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6&share_source=copy_web&vd_source=404581381724503685cb98601d6706fb
上节讲了保留字与标识符、变量与常量和数据类型的数值型。本节介绍布尔型变量,数据类型的转换和eval函数。
1.布尔型变量
用来表示“真”值或“假”值的数据类型。在python中使用标识符True或False表示布尔类型的值,True表示整数1,False表示整数0。
当你想求一个量的布尔值,只需要bool(),把量填在括号里面。print(bool())就是打印出某某的布尔值。
下述的实验是为了证明这一点,下面的注释都是解释和结果:
x=True
print(x)
print(type(x))
print(x+10) #1+10=11
print(False+10) #0+10=10
print('----------------')
#1.非零的整数的布尔值都是True
print(bool(18)) #测试一下整数18的布尔值,为True
print(bool(0),bool(0.0))#为False
#2.所有非空字符串的布尔值都是True,空字符串的布尔值是False
print(bool('北京欢迎你'))#非空字符串,True
print(bool(''))#空,False
#3.求False\None的布尔值还是False,求True的布尔值还是True
print(bool(False)) #False
print(bool(None)) #False
print(bool(True)) #True
结果如下:
2.数据类型的转换
数据类型发生的转换有隐式转换和显式转换。前者就是运行程序的过程中,计算机自动把数据转换成了一定类型,比如上述布尔型运算中,print(x+10)中,x是一个布尔型量,与10这个整形相加过程中,自动转化成了整型,才能够运算下去。
显式转换就是人为用函数将变量转换为指定的数据类型,有以下几种函数:
以下是上述几个函数的应用案例:
x=10
y=3
z=x/y #在执行除法运算的时候,将运算的结果赋值给z
print(z,type(z)) #隐式转换,通过运算隐式地转换结果的类型
#float类型转成int类型,只保留整数部分
print('float类型转成int类型:',int(3.14))
print('float类型转成int类型:',int(3.9))
print('float类型转成int类型:',int(-3.14))
print('float类型转成int类型:',int(-3.9))
#将int转成float类型
print('将int转成float类型:',float(10))
#将str转成int类型
print(int('100')+int('200'))
#将字符串转成int或float时报错的情况
#要转化的值不是一个十进制的数,就会报错无法转化
print(int('18a')) #报错ValueError: invalid literal for int() with base 10: '18a'
#要转化数是一个小数不是一个整数,也会报错
print(int('3.14')) #报错ValueError: invalid literal for int() with base 10: '3.14'
#要转化的值有一个不是数字的a,因此无法转化成浮点型
print(float('45a.987'))#报错ValueError: could not convert string to float: '45a.987'
#chr()和ord()是一对相反的函数
print(ord('杨'))#杨在unicode表中对应的整数值
print((chr(26472))) #26472整数在unicode表中对应的字符是啥
#进制之间的转换操作,十进制与其它进制之间的转换
print('十进制转成十六进制:',hex(26742))
print('十进制转成八进制:',oct(26472))
print('十进制转成二进制',bin(26472))
3.eval函数
python中的内置函数,用于去掉字符串最外侧的引号,并按照python语句方式执行去掉引号后的字符串。eval()函数经常和input()一起使用。
eval的语法格式:
变量=eval(字符串)
实验如下,解释在注释中了:
s='3.14+3'
print(s,type(s))
x=eval(s) #使用eval函数去掉s这个字符串中左右的引号,执行加法运算
print(x,type(x))
#eval函数经常与input()函数一起使用,用来获取用户输入的数值
age=eval(input('请输入您的年龄:'))#将字符串类型转成int类型,相当于int(age)
print(age,type(age))
height=eval(input('请输入您的身高:'))
print(height,type(height))
hello='北京欢迎你'
print(hello)
print(eval('hello'))#输出了“北京欢迎你”
#eval后面接的必须是已经定义过的变量,否则报错
print(eval('北京欢迎你'))#NameError: name '北京欢迎你' is not defined
结果如下:
本节完