做"!="等于"不是"

我是否对"不是"等于"!="有点混乱
如果a!= b:
...
如果a不是b:
...
"不是"和"!="之间有什么区别,或者它们是同一件事?

# 回答1


皮拉塔写道:
不,他们不是同一回事. ==和!=测试以查看是否 *
两个变量是相同的.像这样:
真的
A和B都有" Hello World"的价值,因此它们是平等的
但是,并且不是不测试价值等价的,它们测试
对象身份.换句话说,他们测试以查看对象是否
变量引用是内存中相同的对象,例如:
错误的
A和B分配给两个碰巧具有的对象
相同的价值,但是尽管有两个单独的" Hello World"
内存中的对象,因此您不能说A *是 * b
现在看一下:
真的
真的
在这种情况下,它们再次是相同的值,但现在也是IS测试
表明它们也是相同的 *对象 *,因为C和D均
在内存中请参阅相同的" Hello World"对象.只有一个
时间.
!=且没有工作相同:
错误的
真的
错误的
错误的
希望有帮助!
# 回答2


皮拉塔写道:
`==`操作员测试平等. `是运算符测试身份.
如果您不专门测试身份,请使用`==`.如果你
不知道哪些身份测试是用于测试的
对于无性),那么您不需要它.
- -
Erik Max Francis && ma*@alcyone.com && http://www.alcyone.com/max/
美国加利福尼亚州圣何塞,美国&& 37 18 n 121 57 W && aim,y!m erikmaxfrancis
我们是否问小鸟唱歌希望获得什么利润?
- 约翰内斯·开普勒(Johannes Kepler),1571-1630
# 回答3


在6月16日,10:29*PM,Pirata "不是"是"是"运算符"的逻辑否定,而"!=" is
" =="操作员的逻辑否定.区别在于平等
与身份.
真的
错误的
# 回答4


约翰·萨勒诺(John Salerno)写道:
让我澄清一下.这似乎是一个挑剔的点,但我认为
学习Python时非常重要.
我并不是说变量本身的价值,我的意思是
变量所指的值.变量本身不是
实际上,这些对象,也没有准确的值.相反,他们
*请参阅内存中的对象,正是这些对象是我们
测试价值和身份.例如,使用以前的代码:
一个---"你好世界"
b ---"你好世界"
C - -\
- -'你好世界'
D ---//
A和B分配给两个单独的对象(没关系
它们恰好是相同的价值).如上所述,A和B参考
对不同的事物.
但是,C和D同时分配给同一对象,并且
因此,请参阅内存中的一个对象.这就是为什么" C是D"是
是的,但是" A IS B"是错误的.
# 回答5


2008年6月17日上午11:29上午11:29,Pirata " IS"用于测试它们是否指向 完全相同的对象.
" =="用于测试其值相等.
相同的对象是相等的,但不必是同一对象.
并非常小心python的肮脏角落:
错误的
真的
真的
真的
这是由小物体缓存机制引起的.
- -
此致,
狮子座
# 回答6


在6月17日,11:07*AM," Leo Jay" " IS"用于测试它们是否指向完全相同的对象.
" =="用于测试其值相等.
相同的对象是相等的,但不必是同一对象.
并非常小心python的肮脏角落:
不,您不必小心,您永远不要在
第一名.
基本上" a是b"和"不(a is b)"类似于" id(a)== id(b)'
和'不(ID(a)== ID(b))'
当您要测试两个变量/名称时,您使用" IS"
实际上是同一件事(他们实际上是指同一地点
在内存上). " =="平等比较只需测试两个
对象的值可以视为平等.
# 回答7


En Tue,2008年6月17日02:25:42 -0300,lie

  • " IS"用于测试它们是否指向完全相同的对象." =="用于测试它们的值是相等的.

    [示例" 5 is 5",但" 100000不是100000"]
    不.
    是的, *那 *是真的.以上声明不是.反例:
    py []是[]
    错误的
    pyid([])== id([])
    真的
    甚至不同的对象也可能具有相同的ID:
    Pyclass a:通行证
    ...
    Pyclass B:通行证
    ...
    pya()是b()
    错误的
    pya()== b()
    错误的
    pyid(a())== id(b())
    真的
    仅当A和B同时还活着时,将ID(a)与ID(B)进行比较才有意义.如果他们的生命没有重叠,ID(A)和ID(B)在任何方面都无关.因此,我认为尝试用ID函数来解释对象身份是一个错误.
    - -
    Gabriel Genellina

  • # 回答8


    " leo jay" 相同的对象通常是平等的,但并非总是如此:
    错误的
    真的
    - -
    Duncan Booth http://kupuguy.blogspot.com
    # 回答9


    在2008年6月17日星期二,上午04:33:03 -0300,加布里埃尔·纳内利娜(Gabriel Genellina)写道:
    不.
    当然是...他说"类似" ...不完全相同.他们不是
    同样,但是它们是相似的.
    在没有资格陈述的情况下,单独说"不"是
    通常用英语解释为粗鲁...就像你的方式
    与孩子们太年轻,无法理解解释时与他们交谈.
    YUCKY.
    - -
    Derek D. Martin http://www.pizzashack.org/
    GPG密钥ID:0x81CFE75D
    -----开始PGP签名-------------
    版本:gnupg v1.2.1(gnu/linux)
    ID8DBQFIV6MFDJDLQOHP510RANUCAJ0BDURUXROSAM1YEVKB6A T7QGCMQACDFTD7
    QHGWDQFCVX3JJOKVTE+EXU8S =
    = OQ51
    -----结束PGP签名-----
    # 回答10


    皮拉塔写道:
    真的
    错误的
    # 回答11


    En Tue,2008年6月17日09:09:41 -0300,Derek Martin
    Escribió:不.

    当然是...他说"类似" ...不完全相同.他们不是
    同样,但是 y是相似的.
    "平等"和"身份"也很相似,因此整个答案将使
    在这种情况下没有任何意义.您无法根据事物解释身份
    不完全相同.一个细磨碎的问题,差异很细
    需要一个细粒度的答案.
    我一点也不是不礼貌的 - 我向李先生道歉.这
    在其下方的段落中解释了如此强烈的"否"(这个想法
    是说:"不,是的")
    - -
    Gabriel Genellina

    # 回答12


    在6月17日,下午5:33," Gabriel Genellina"
    写道:
    不.
    ...
    但这不是他所说的,他使用了名称的" A"和" B"
    匿名对象.
    更公平的是
    a = []; b = []
    id(a)== id(b)
    lie撰写了" ID(a)== ID(b)".由于不需要
    ID测试后要持续存在的匿名对象,您不能保证
    您正在比较两个对象的ID(如'a'和
    'b').您不是实际上测试了ID(a)== ID(a)吗?同时
    可能是一个有趣的效果,我怀疑它澄清了
    等价和身份测试之间的差异,以谎言的方式
    实际上确实是.
    同样在考虑等效性在python参考中的含义
    将其制作到__EQ__方法.原始查询可能会关心
    查找.
    # 回答13


    我一点也不是不礼貌的 - 我向李先生道歉.这
    在其下方的段落中解释了如此强烈的"否"(这个想法
    是说:"不,是的")
    作为一个非常英语的母语者,我不同意"不"是
    一定是粗鲁的.我希望我能经常得到如此干净的答案
    我的问题.
    # 回答14


    En Tue,2008年6月17日23:04:16 -0300,Asun Friere ...
    但这不是他所说的,他使用了名称的" A"和" B"
    匿名对象.
    更公平的是
    a = []; b = []
    id(a)== id(b)
    如果您将自己限制为将" A"和" B"解释为实际名称,则说明是正确的.但是我认为它们是占位符或元句法的名称 - 就像" ABS(x)返回x的绝对值"中,其中x可以代表 *任何 *表达式,而不仅仅是一个名称.在这种一般解释下,陈述不再是正确的.
    (此线程已超过10000CP ...)
    - -
    Gabriel Genellina
    # 回答15


    在6月17日,7:09*上午,德里克·马丁(Derek Martin)
    geez,伙计,这是Usenet.如果您想粗鲁或屈尊,
    答案本来是"不,你这个白痴."也许是
    警报者,"不!不!不!"
    我看到不合格的"不"通常在此列表中,作为捷径
    "您的技术解释存在缺陷或忽略了关键
    点或角案,"通常遵循更多细节
    在帖子中解释了误解或监督是什么.
    回到我大学时代,我不会因为教授而感到惊讶
    回应"不." (或更糟糕的是)如果我对
    另一个学生. UNQ ualified的"否"可能会很简单
    敏感的一天,可能会写"不.(见下文)",但作为其中之一
    在此列表中,最有明智和仔细的海报,我倾向于给予
    加布里埃尔有点懈怠.
    - 保罗
    # 回答16


    Gabriel Genellina写道:
    什么是10000CP?
    - -
    Ethan
    # 回答17


    在6月18日,7:26*上午," Gabriel Genellina"
    写道:
    "平等"和"身份"也相似,因此整个答案将使*
    在这种情况下没有任何意义.您无法根据 *的身份解释身份
    不完全相同.一个细磨碎的问题,以造成细粒度的差异 *
    需要一个细粒度的答案.
    在我的辩护中,我承认我倾向于忘记(故意)
    如果我认为差异不是
    在讲话的背景下足够重要. OP问!=
    而且"不是",所以我用那些平等和
    身份测试.给更简洁,易于
    理解例子,我说"不是"就像使用测试
    对象的'id()'.因为(我认为)!=和
    与"不是"之间的差异相比,"不是"要大得多
    和" id()测试",我认为我可以考虑"不是"和" ID()测试"
    在此线程的上下文中为"等效":'die!=是等效的
    要"不是".
    无论哪种方式,我很抱歉我未能明确通知'是
    不是"和" ID()测试"也不完全相同.
    我一点也不是不礼貌的 - 我向李先生道歉.
    我不应该道歉,因为错误在我身上,我没有
    感到冒犯,实际上我很高兴有人可以指出我的
    错误.
    # 回答18


    在6月18日,12:32*PM,Terry Reedy 作为一个非常英语的母语者,我不同意"不"是
    一定是粗鲁的. *我希望我能经常得到如此干净的答案
    我的问题.
    我不是说英语的人,尽管我认为我的父母会
    说话时我喜欢我更简单,因为我倾向于
    说出"可能","也许","可能"和其他模棱两可之类的话
    表达时不时使他们感到沮丧.
    # 回答19


    在6月18日,2:22*pm,撒谎 好吧,至少您 *与父母说话!主要是我从我的
    孩子们是,"我可以借10美元吗?"
    - 保罗
    # 回答20


    在6月19日,2:51*AM,Paul McGuire 好吧,至少您 *与父母说话! *主要是我从我的
    孩子们是,"我可以借10美元吗?"
    大声笑,除非我必须
    通常首先开始说话,我通常会回应
    模棱两可的陈述.好吧,实际上,我很少与
    任何人,让自己保持阴影是我的本性,直到我必须成为
    在光线下.
    但是我从来没有像那样索要钱.
    # 回答21


    恩星期三,2008年6月18日14:26:31 -0300,Ethan Furman
    escribió:
    什么是10000CP?
    cp = centipoise,一个动态粘度的单位,测量了对
    流动.
    蜂蜜粘度是数百种,玉米糖浆几千,并且
    超过10000 cp的东西确实是粘性的...
    - -
    Gabriel Genellina
    # 回答22


    在6月18日,9:43*pm,撒谎 大声笑,除非我必须
    通常首先开始说话,我通常会回应
    模棱两可的陈述.好吧,实际上,我很少与
    任何人,让自己保持阴影是我的本性,直到我必须成为
    在光线下.
    "'比打开一个傻瓜更好地保持沉默,被认为是傻瓜
    嘴并消除所有疑问." - 塞缪尔·约翰逊(Samuel Johnson).:-)
    # 回答23


    yaieee!
    特里·里迪(Terry Reedy)在2008年6月18日星期三,上​​午01:32:28 -0400写道:
    我从来没有说过一定是什么.普遍性通常具有
    很多例外. :D绝对不是 *不一定 *粗鲁,我
    没有将加布里埃尔的信息解释为粗鲁.我只是指出
    这种陈述通常被解释为粗鲁,无论是否
    他们是这样的. fwiw,我的帖子不打算成为
    完全发布,而是给加布里埃尔的私人消息.我猜我
    当我应该扎格时,被曲折了... ;-)
    也就是说,他所做的就是与一个声明相抵触
    从字面上看,以突然的方式.很多人会解释
    这是粗鲁的举止.他的评论很有目的,但他的方式
    开始使它倾向于做一些(也许很多)
    呼吸防御,即使不是交战.但是,如果我真的以为
    加布里埃尔有意粗鲁,我不会费心说
    任何东西,只是删除了他的所有帖子. :)我什至不认为
    道歉是有必要的...
    保罗·麦奎尔(Paul McGuire)在2008年6月18日星期三,上​​午07:01:23 -0700写道:
    当然,这些陈述通常会被视为 *公然 *粗鲁
    (但是有时可能不是在上下文中).这并不意味着
    较少的公然陈述也不是粗鲁的. geez的确...
    我看到很多地方,也许多达1/3的时间,我看到了
    它开始火焰大战.我似乎很清楚加布里埃尔没有
    冒犯的意图...我要说的是,如果您想
    避免无意中和不必要地冒犯某些人,这是一个
    避免发表陈述的好主意,尤其是curt负面的
    语句.
    如果打算说出更多要来的,那么一个简单的
    改进是添加一个Elipsis,其目的正是这样:
    "不……",但更有效地避免出现
    粗鲁是诸如"不完全……"之类的陈述,"我不这么认为..."等.
    他们甚至没有那么多额外的打字.
    在很多时候,简单的"否"正是所谓的
    为了. "你喜欢黑巧克力吗?" "不." "你在看
    凯尔特人游戏吗?
    它是绿色的."
    简洁与curt不一样.音调也会发挥作用 一个大的
    角色,但是传达简单的"否"的适当语气很漂亮
    电子邮件中几乎不可能.在书面交流中,应该是
    像瘟疫一样避免.
    当然,很多教授傲慢,不敏感.这样做
    好吗?但是,根据背景和教授的语气,
    即使您描述的情况也不一定是粗鲁的.经常
    不是.
    世界上充满了首都" J"的混蛋.想象一下吗?
    真是太好了...但是,我在这里提供的只是一个
    关于如何不像混蛋,当一个人不像混蛋的建议
    打算.
    当然.但是并不是这里的每个人都知道加布里埃尔.并非每个人都有
    看到了他明智的贡献.并非每个人都在这里更多
    比一天...在此列表中发布的更多人
    抱怨人们在此列表中提供的答复,
    而且许多这样的抱怨是相当合理的(尽管有时
    做抱怨的人本人是不合理的,如果没有的话
    我承认,完全是傻瓜.
    我有些难以置信,这需要解释...
    结束我认为的好一点,"嘿,避免这个锅孔"
    一种注意事项似乎主要产生了很多愚蠢的噪音.我
    现在从讨论中退休,然后爬回我的快乐
    潜伏点. :)
    干杯
    - -
    Derek D. Martin http://www.pizzashack.org/
    GPG密钥ID:0x81CFE75D
    -----开始PGP签名-------------
    版本:gnupg v1.2.1(gnu/linux)
    ID8DBQFIWF3UDJDLQOHP510RAK5CAJJWPLCI4TYPYSID7HGKGRK 7TBTOWQQQCCGVQA/
    uy+h3hzzcsdnz0to5xaaeqo =
    =卢夫
    -----结束PGP签名-----

    标签: python

    添加新评论