从零开始的python学习(二)P15+P16+P17

本文章记录观看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


 结果如下:

 本节完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值