第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

if語(yǔ)句中“ in”的使用和含義?

if語(yǔ)句中“ in”的使用和含義?

動(dòng)漫人物 2019-12-27 09:08:35
在Zed Shaw的“ 學(xué)習(xí)Python的艱難方法”的示例中,其中一個(gè)練習(xí)顯示了以下代碼:next = raw_input("> ")if "0" in next or "1" in next:    how_much = int(next)我很難理解in此聲明中的含義。我習(xí)慣if在javascript中使用語(yǔ)句,例如語(yǔ)法:var = 5;if (var > 3) {    //code  to be executed}這是if/ in陳述(在Python)一樣if()在JavaScript?找到這個(gè)問(wèn)題的答案非常棘手,因?yàn)檫@in是一個(gè)很短的字符串,無(wú)法通過(guò)搜索引擎縮小答案的范圍,而且我不知道其操作的正確名稱。
查看完整描述

3 回答

?
鴻蒙傳說(shuō)

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

這取決于什么next。


如果是字符串(如您的示例中所示),則in檢查子字符串。


>>> "in" in "indigo"

True

>>> "in" in "violet"

False

>>> "0" in "10"

True

>>> "1" in "10"

True

如果它是另一種可迭代的類型(列表,元組,集合,字典...),則in檢查成員資格。


>>> "in" in ["in", "out"]

True

>>> "in" in ["indigo", "violet"]

False

在字典中,成員資格被視為“關(guān)鍵之一”:


>>> "in" in {"in": "out"}

True

>>> "in" in {"out": "in"}

False


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于您聲稱習(xí)慣于JavaScript:


Python in運(yùn)算子類似于JavaScript in運(yùn)算子。


這是一些JavaScript:


var d = {1: 2, 3: 4};

if (1 in d) {

    alert('true!');

}

和等效的Python:


d = {1: 2, 3: 4}

if 1 in d:

    print('true!')

對(duì)于對(duì)象/字典,它們幾乎相同,都檢查1對(duì)象/字典的密鑰是否。當(dāng)然,最大的區(qū)別是JavaScript是草率類型的,所以'1' in d也是如此。


對(duì)于數(shù)組/列表,它們有很大的不同。JS數(shù)組是一個(gè)對(duì)象,其索引是鍵,所以1 in [3, 4, 5]將是true。Python列表與dict完全不同,它的in運(yùn)算符檢查值,而不是索引,這通常會(huì)更有用。Python將這種行為擴(kuò)展到了所有可迭代對(duì)象。


使用字符串,它們甚至?xí)兴煌?。JS字符串不是對(duì)象,因此您將獲得TypeError。但是Python str或unicode會(huì)檢查另一個(gè)操作數(shù)是否是子字符串。(這1 in '123'是非法的,因?yàn)?它不能是任何東西的子串,但它'1' in '123'是真實(shí)的。)


以對(duì)象為對(duì)象,在JS中當(dāng)然沒(méi)有區(qū)別,但是在Python中,對(duì)象是類的實(shí)例,而不是字典。因此,在JS中,1 in d如果對(duì)象具有名為的成員或方法'1',則該參數(shù)為true ,但在Python中,這取決于類的含義-Python將調(diào)用d.__contains__(1),然后,如果失敗,它將嘗試將您的對(duì)象用作一個(gè)可發(fā)音的(通過(guò)調(diào)用其__iter__,如果失敗,則嘗試使用以開(kāi)頭的整數(shù)對(duì)其進(jìn)行索引0)。


另外,請(qǐng)注意in,因?yàn)镴S的實(shí)際上是在檢查對(duì)象成員資格,所以通常進(jìn)行JS方法的分辨率順序搜索,而Python的in因?yàn)闄z查的是dict的鍵,序列的成員等,則不會(huì)執(zhí)行此類操作。因此,從技術(shù)上講,它可能hasOwnProperty比in操作員更接近該方法。


查看完整回答
反對(duì) 回復(fù) 2019-12-27
  • 3 回答
  • 0 關(guān)注
  • 1073 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)