Python新手学习-打卡第四天【2019-2-11】
数据类型
#进制转换
0.55(十进制) = 0.1000110011001100110011001100110011001100110011001101(二进制)
0.3(十进制) = 0.0100110011001100110011001100110011001100110011001101(二进制)
python2
>>> print(0.55+0.3)
0.85
>>>
python3
>>> print(0.55+0.3)
0.8500000000000001
>>> a="我"
>>> b='有'
>>> c=100
>>> d="""元"""
>>> print(a+b+str(c)+d)
我有100元
>>> print(a+b+'c'+d)
我有c元
>>> print(a+b+`c`+d)
我有100元
>>>
可是,为什么引号内我们使用的是数字,而不是变量名c呢?这是因为,当我们使用引号时,引号里的东西,都会被强制转换为字符串格式
所以,如果我们把变量名c放进引号里后,被强制转换为字符串的,将是变量名c,而不是变量名代表的数字10
int()函数转换数据类型
bug = '666' hair = '0' print(int(bug)+int(hair))
注意一点:只有符合整数规范的字符串类数据,才能被int()强制转换。
别看它虽然只有一句话,但它其实带有三层含义:首先,整数形式的字符串比如'666'和'0',可以被int()函数强制转换
其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换,
最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换
print(int('3.8'))
#运行后显示结果:ValueError:invalid literal for int() with base 10: '3.8'
print(int(3.8))
3
>>> word = '3.8'
>>> number = 1
>>> sentence = '人工智障说:3.8+1等于'
>>> print(sentence+str(int(float(word)+number)))
人工智障说:3.8+1等于4
>>>
错误案例:
int()函数无法转换小数形式的字符串
posted on 2019-02-15 00:14 keepimprove 阅读(434) 评论(0) 编辑 收藏 举报