当前位置: 移动技术网 > IT编程>脚本编程>Python > Python面试总结篇

Python面试总结篇

2019年08月07日  | 移动技术网IT编程  | 我要评论

欣蔓,电力安全生产论文,相声小品台词

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,同一优先级从左往右计算。

参考如下:

img

持续更新

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网