#第十四课——类型转换
#python中的几种数据类型
#字符串
#整数
#小数(浮点数)
#bool类型
#python在定义一个变量时不需要给它限定类型,变量会根据赋予它的值,自动决定他的值。
#你也可以在程序中改变它的值,于是也就改变了它的类型
#例如
#a=1
#print(a)
#a='hello'
#print(a)
#a=True
#print(a)
#变量a先后成为了整数,字符串,bool类型
#虽然类型可以改变,但是当你对一个特定类型的变量进行操作的时候。
#如果这个擦操作与它的数据类型不匹配,就会报错。
#比如一下几行代码
#print('hello'+1)
#print('hello%d'%'123')
#程序运行就会报错。因为在第一句里,字符串和整数不能相加。
#第二句中,%d需要的是一个整数,而'123'是字符串
#这种情况下,python提供了一些方法去转换数值的类型:
#int(X)
#把X转换成整数
#float
#把X转换成浮点数
#bool
#把X转换成布尔值
#str
#把X转换成字符串
#上面的两个例子就可以这样写
#print('hello'+str(1))
#print('hello%d'%int('123'))
#以下等式的结果均为真
#print(int('123')==123)
#print(float('3.3')==3.3)
#print(str(111)=='111')
#print(bool(0)==False)
#以上结果输出均为True
#当然并不是所有的值都能做类型转换,比如int('abc')
#python没有办法把abc转换成整数
#先摸索一下bool类型的转换的规律
#print(bool(-123))
#print(bool(0))
#print(bool('abc'))
#print(bool('False'))
#print(bool(''))
#第十五课——bool类型
#在上节中print(bool('False')),结果是True,这是为什么?
#在python中,其他类型转换成bool类型时,一下数值会被认为是False:
#为0的数字,包括0,0.0
#空字符串,包括'',""
#表示空值的None
#空集合,包括{},[],()
#其他值都认为是True
#None是python中的一个空值,表示什么都没有。
#所以。'False'是一个不为空的字符串,当被转成bool类型后,就会得到True
#同样bool(' ')的结果是True,一个空格也不能算作空字符串
#bool('')才是False
#在if,while 等条件判断语句中,判断条件会自动进行一次bool的转换,比如:
#a='123'
#if a:
# print('this is not a blank string')
#这在编程中是很常见的写法。效果等同于
#if bool(a):
#或者
#if a!=0: