Python中and判断括号的问题

软件和网站开发以及相关技术探讨
回复
drop
帖子: 14
注册时间: 2018-05-26 19:54
送出感谢: 5 次
接收感谢: 0

Python中and判断括号的问题

#1

帖子 drop » 2022-01-28 9:57

代码: 全选

>>> text = "xx】xx"
>>> "【" in text
False
>>> "】" in text
True
>>> "【" and "】" in text
True
为什么会出现这种结果?

写成这样就不会:

代码: 全选

>>> "【" in text and "】" in text
False
这是什么原因呢? :What
头像
astolia
论坛版主
帖子: 5686
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 975 次

Re: Python中and判断括号的问题

#2

帖子 astolia » 2022-01-28 11:11

你没有系统地学过?这就是in运算符的语法,及其优先级和结合性问题。可以参考此文 https://blog.51cto.com/u_15077539/3873556
in的语法就是a in b,python在解析"【" and "】" in text这句时,会理解成("【") and ("】" in text)
对于and左边的字符串,执行bool("【")转换成布尔值为True,右边的也为True,True and True还是True
回复