Python面试总结篇
程序员文章站
2023-11-28 13:51:04
Python Coding Interview Questions and Answers 逻辑运算赋值 先举例理解 和 是如何转换的 数字转布尔值 字符串转布尔值 布尔值转数字或者字符串使用非常少,了解即可。转换为数字只有0(False)和1(True),转换为字符串只有空字符串("")和字符串( ......
python coding interview questions and answers
逻辑运算赋值
先举例理解 数字/字符串
和 布尔值
是如何转换的
-
数字转布尔值
v1 = 0 v2 = bool(v1) print(v2) # ---> false # 总结:只有0转换成布尔值是false,其它都是true。
-
字符串转布尔值
v1 = "" v2 = bool(v1) print(v2) # ---> false # 总结:只有空字符串转换成布尔值是false,其他都是true。
布尔值转数字或者字符串使用非常少,了解即可。转换为数字只有0(false)和1(true),转换为字符串只有空字符串("")和字符串("true")。
然后我们来看这个面试题
v1 = 1 or 9 v2 = 0 or 9 # print(v1, v2)会输出什么?
解: 当和逻辑运算符一起存在时会自动转换为布尔值,根据上面的例子得知,1是true,9也是true,0是false,v1取到第一个值等式就成立了,v2中因为0是false所以还需要继续看后面的值,所以输出1 9 ,v1和v2都为整型。
扩展
v1 = 3>4 or 4<3 and 1==1 print(v1) # ---> false,有比较运算 v2 = 1 and 9 or "" and 6 print(v2) # ---> 9 # 在没有()的情况下not优先级高于and,and优先级高于or,即优先级关系为( ) > not > and > or,同一优先级从左往右计算。
参考如下:
持续更新
上一篇: 总结关于CPU的一些基本知识