不运行程序,说出下面程序的执行结果
1. 4.0 == 4
2. "4.0" == 4
3. bool("1")
4. bool("0")
5. str(32)
6. int(6.26)
7. float(32)
8. float("3.21")
9. int("434")
10. int("3.42")
11. bool(-1)
12. bool("")
13. bool(0)
14. "wrqq" > "acd"
15. "ttt" == "ttt "
16. "sd"*3
17. "wer" + "2322"
答案如下
1. True
2. False
3. True
4. True
5. '32'
6. 6
7. 32.0
8. 3.21
9. 434
10. 会报错
11. True
12. False
13. False
14. True
15. False
16. "sdsdsd"
17. 'wer2322'
关于这些答案,要做到知其然且知其所以然,编程需要精准的知道每一个细节,下面对其中一些可能让你感到困惑的知识点进行讲解
1. bool函数转换规则
bool函数进行转换时,其结果取决于传入参数与True和False的等价关系,只需记住一点即可
0 , 空字符串, None在条件判断语句中等价于False, 其他数值都等价于True
bool函数在做数据类型转换时遵循该原则
2. int("3.42") 为什么会报错
字符串"3.42"可以转成float类型数据3.42, 3.42可以转成int类型数据3,但是字符串"3.42"却不可以直接使用int函数转成3,讲实话,我也觉得这个函数有些不灵活,或许是语言的发明者有自己的考虑吧,咱们对这种问题,不必深究,先做到知道它是什么,将来再去研究为什么
3. 字符串大小比较规则
两个字符串在比较大小时,比的不是长度,而是内容
字符串左对齐后,逐个字符依次比较,直到可以分出胜负
4. "sd"*3
"sd"*3 的意思是sd重复3次,生成一个新的字符串