欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

参考如下:

Python面试总结篇

持续更新