我是这里的新成员,也是python的新成员。我的问题如下,是否有这样的线?蟒蛇 - 浓缩比较
if x or y is 'whatever':
我在解释器中测试了这个,并得到了不一致的结果。这似乎是这条线产生更加一致和预期结果
if (x or y) is 'whatever':
或者是它总是最好明确地拥有一切奠定了这样
if x is 'whatever' or y is 'whatever':
这最后一个总是工作,但我只是想使我的代码更加简洁,同时遵循最佳实践。我试图做一个搜索,以免提出多余的问题,但是搜索'是''或'和'和'是非常困难的。预先感谢您的帮助。
编辑:感谢所有的快速回复。这对我来说完全适合我需要'或'
if 'whatever' in [x,y]:
但是,如果我需要一个'和',我该如何压缩这个?
if x == 'whatever' and y == 'whatever':
回答最后一个问题,答案是“if x == y =='whatever''' – eyquem
这意味着:内存中有一个字符串对象,其值为'whatever',对象指向名称为_x_的引用和名称为_y_的引用指向的对象是值为'whatever'的相同对象。 _x_和_y_是标识符,也就是说字符串是变量的名称,其本质是指针,这些指针指向对象** x **和** y **。 Python的数据模型是:_x_标识符,名为_x_的基础指针(在Python中称为引用),引用指向对象** x **。想想那样,你就没有问题了 – eyquem