学python第十弹 数据类型
得到更多信息:type
上一弹说到,我们通过看引号来确定一个值究竟是数还是字符串,要确定是一个值还是字符串还有另一种更直接的方法。
python提供了函数 type(),它可以明确告诉我们变量的类型。
>>> a = '44.2'
>>> b = 44.2
>>> type(a)
<type 'str'>
>>> type(b)
<type 'float'>
type() 函数告诉我们a的类型是 ‘str’ ,这代表字符串(string),b的类型是 ‘float’ , 很明白,不用猜也知道这代表浮点数!
类型转换错误
当然,如果向 int() 或 float()提供的不是一个数,它就会不正常。下面来试试看:
>>> print float ('fred')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
print(float('fred'))
ValueError: could not convert string to float: 'fred'
>>>
我们得到了一个错误消息,这个非法文字(invalid literal)错误消息说明python不知道怎么从 “fred” 创建一个数。
>>> print(float('1'))
1.0
改成数字就可以。
使用类型转换
在前面我们做到 “动手试一试” 中从华氏度到摄氏度的温度转换程序,可以使用float()函数进行转换,使输入的数据不会出现错误。
F = 88
C = float(5)/9*(F-32)
#或者C = 5/float(9)*(F-32)
print(' 华氏度=',F,'摄氏度=',C)
你学到了什么
在这两弹,你学到了以下内容。
1 完成类型转换:str()、int()、和float()
2 直接显示值,不使用print
3 使用type()查看变量的类型
4 舍入误差及其出现的原因
测试题
1 使用int()将小数转换为整数,结果是上取整还是下取整。
2 在温度转换程序中,可以这样做吗
cel = float(5/9*(fahr - 32))
这样呢
cel = 5 / 9 * float(fahr - 32)
如果不行,为什么
3 除了int() 不使用任何其他函数,如何对一个数四舍五入而不是下取整? (例如, 13.2 会下取整为13,而13.7会上去整为14)
动手试一试
1 使用 float() 从一个字符串创建一个数,要保证结果确实是一个数
2 试着使用 int() 从一个小数创建一个整数。答案是上取整还是下取整。
3 试着使用 int() 从一个字符串创建整数,要保证结果确实是一个整数。
更到这里!