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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是無值?

什么是無值?

慕碼人8056858 2019-10-16 14:03:01
我一直在研究Python,并且閱讀了描述其None價值的一章,但不幸的是,這本書在某些方面并不十分清楚。我以為,如果我在那分享我的問題,我會找到答案。我想知道None價值是什么,您將其用于什么?而且,我沒有得到本書的這一部分:將值None賦給變量是將其重置為其原始的空狀態(tài)的一種方法。這意味著什么?答案很棒,盡管由于我對計算機(jī)世界的了解不足(我還沒有了解類,對象等),所以我對大多數(shù)答案都不了解。這句話是什么意思?將值None賦給變量是將其重置為其原始的空狀態(tài)的一種方法。最后:最后,我從尋找不同的答案中得到了答案。我必須感謝所有抽出寶貴時間來幫助我的人(尤其是Martijn Pieters和DSM),我希望我可以選擇所有答案作為最佳答案,但是選擇僅限于一個。所有的答案都很好。
查看完整描述

3 回答

?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗 獲得超5個贊

由于Python程序員通常不會說


將值None賦給變量是將其重置為其原始的空狀態(tài)的一種方法。


很難以一種有意義的方式解釋布里格斯的意思,并解釋為什么這里沒有人對此感到滿意。一個類推可能會有所幫助:


在Python中,變量名稱就像貼在對象上的標(biāo)簽一樣。每個標(biāo)簽上都有一個唯一的名稱,并且一次只能在一個對象上,但是如果需要,您可以在同一對象上放置多個標(biāo)簽。當(dāng)你寫


F = "fork"

您將標(biāo)簽“ F”放在字符串對象上"fork"。如果你再寫


F = None

您將貼紙移動到None對象。


Briggs想讓您想象的是,您沒有寫貼紙"F",而是已經(jīng)在F貼紙上了None,您所做的就是將其從None移到"fork"。因此F = None,如果我們決定將其None視為,則在鍵入時,您會將其“重置為原始的空狀態(tài)” empty state。


我可以看到他的意思,但這是一種不好的觀察方式。如果啟動Python并輸入print(F),則會看到


>>> print(F)

Traceback (most recent call last):

? File "<stdin>", line 1, in <module>

NameError: name 'F' is not defined

這NameError意味著Python無法識別這個名字F,因為沒有這樣的標(biāo)簽。如果Briggs是正確的并且F = None重置F為其原始狀態(tài),那么它應(yīng)該現(xiàn)在就在那,我們應(yīng)該看到


>>> print(F)

None

就像我們在鍵入F = None并貼上貼紙后所做的那樣None。


這就是所有的事情。實際上,Python附帶了一些已經(jīng)粘貼到對象上的標(biāo)簽(內(nèi)置名稱),但是其他一些標(biāo)簽則需要使用諸如F = "fork"and A = 2和這樣的行來編寫c17 = 3.14,然后再將它們粘貼到其他對象上(例如F = 10or F = None;它們都是一樣的) )


Briggs假裝您可能要寫的所有可能的貼紙都已粘貼到該None對象上。


查看完整回答
反對 回復(fù) 2019-10-16
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊

None只是通常用于表示“空”或“此處無值”的值。它是一個信號對象 ; 它僅具有含義,因為Python文檔說明了它的含義。


在給定的Python解釋器會話中,該對象只有一個副本。


例如,如果您編寫一個函數(shù),但該函數(shù)未使用顯式return語句,None則返回該函數(shù)。這樣,使用函數(shù)進(jìn)行編程就大大簡化了;一個函數(shù)總是返回某些東西,即使它只是那個None對象。


您可以明確地對其進(jìn)行測試:


if foo is None:

    # foo is set to None


if bar is not None:

    # bar is set to something *other* than None

另一個用途是為函數(shù)提供可選參數(shù),默認(rèn)為“空”:


def spam(foo=None):

    if foo is not None:

        # foo was specified, do something clever!

該函數(shù)spam()有一個可選參數(shù)。如果您在spam()未指定的情況下進(jìn)行調(diào)用,則會為其指定默認(rèn)值None,從而易于檢測是否使用參數(shù)調(diào)用了該函數(shù)。


其他語言也有類似的概念。SQL有NULL; JavaScript具有undefined 和 null,等等。


請注意,在Python中,變量通過使用而存在。您無需先聲明變量,因此Python 中沒有真正的空變量。那么,將變量設(shè)置None為與將其設(shè)置為默認(rèn)的空值是不同的。None也是一個值,盡管該值通常用于表示空白。您正在閱讀的書在這一點上具有誤導(dǎo)性。


查看完整回答
反對 回復(fù) 2019-10-16
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗 獲得超3個贊

這是Python文檔必須說的None:


types.NoneType的唯一值。當(dāng)沒有將默認(rèn)參數(shù)傳遞給函數(shù)時,通常不使用None來表示缺少值。


在版本2.4中更改:分配為None是非法的,并引發(fā)SyntaxError。


注意不能重新分配名稱None和debug(分配給它們,即使作為屬性名稱也會引發(fā)SyntaxError),因此可以將它們視為“ true”常量。


讓我們確認(rèn)None第一個的類型


print type(None)

print None.__class__

輸出量


<type 'NoneType'>

<type 'NoneType'>

基本上,NoneType數(shù)據(jù)類型類似于int,float等等。您可以在8.15中查看Python中可用的默認(rèn)類型列表。types —內(nèi)置類型的名稱。


并且,None是NoneType類的實例。因此,我們可能要創(chuàng)建None自己的實例。讓我們嘗試一下


print types.IntType()

print types.NoneType()

輸出量


0

TypeError: cannot create 'NoneType' instances

很明顯,無法創(chuàng)建NoneType實例。我們不必?fù)?dān)心價值的獨(dú)特性None。


讓我們檢查一下我們是如何None內(nèi)部實現(xiàn)的。


print dir(None)

輸出量


['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', 

 '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__',

 '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

除了__setattr__,所有其他均為只讀屬性。因此,我們無法更改的屬性None。


讓我們嘗試為添加新屬性 None


setattr(types.NoneType, 'somefield', 'somevalue')

setattr(None, 'somefield', 'somevalue')

None.somefield = 'somevalue'

輸出量


TypeError: can't set attributes of built-in/extension type 'NoneType'

AttributeError: 'NoneType' object has no attribute 'somefield'

AttributeError: 'NoneType' object has no attribute 'somefield'

上面看到的語句分別產(chǎn)生這些錯誤消息。這意味著我們不能在None實例上動態(tài)創(chuàng)建屬性。


讓我們檢查一下分配東西時會發(fā)生什么None。根據(jù)文檔,它應(yīng)該拋出SyntaxError。這意味著,如果我們向分配某些內(nèi)容None,則該程序?qū)⑼耆粫?zhí)行。


None = 1

輸出量


SyntaxError: cannot assign to None

我們已經(jīng)確定


None 是...的實例 NoneType

None 不能有新屬性

的現(xiàn)有屬性None無法更改。

我們無法創(chuàng)建的其他實例 NoneType

我們甚至不能通過None給它分配值來更改對它的引用。

因此,如文檔中所述,None可以真正將其視為true constant。


很高興知道None:)


查看完整回答
反對 回復(fù) 2019-10-16
  • 3 回答
  • 0 關(guān)注
  • 683 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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