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

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

為什么`function` 不是 Python 中的關(guān)鍵字?

為什么`function` 不是 Python 中的關(guān)鍵字?

慕妹3242003 2021-06-02 14:58:23
類像str或type>>> type("pear")<class 'str'>>>> type(str)<class 'type'>可以在 Python 中訪問:>>> str<class 'str'>>>> type<class 'type'>然而,類function和builtin_function_or_method不是。>>> def foo(): pass... >>> type(foo)<class 'function'>>>> type(print)<class 'builtin_function_or_method'>它們顯示為內(nèi)置類,但嘗試訪問它們會引發(fā)名稱錯(cuò)誤:>>> functionTraceback (most recent call last):  File "<stdin>", line 1, in <module>NameError: name 'function' is not defined>>> builtin_function_or_methodTraceback (most recent call last):  File "<stdin>", line 1, in <module>NameError: name 'builtin_function_or_method' is not defined有什么特別的function和builtin_function_or_method?
查看完整描述

3 回答

?
炎炎設(shè)計(jì)

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

您所看到的是函數(shù)類型的表示:


>>> from types import FunctionType

>>> repr(FunctionType)

"<class 'function'>"

這是用 def 或其他方式定義的函數(shù)的“類型”:


>>> def f():

...     pass

... 

>>> type(f) is FunctionType

True

>>> type(lambda: None) is FunctionType

True

您在表示中看到的字符串來自__name__每個(gè)對象的屬性:


>>> type(print).__name__

'builtin_function_or_method'

>>> FunctionType.__name__

'function'

“函數(shù)”本身不是語法,因?yàn)殒I入“def”更容易。


一個(gè)修辭問題:如果def名稱用于解析函數(shù)類型,那么您將使用什么語法來實(shí)際定義函數(shù)?


查看完整回答
反對 回復(fù) 2021-06-08
?
慕妹3146593

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

類和函數(shù)有一個(gè)固有的名稱:


>>> def foo():

...     pass

...

>>> foo

<function foo at 0x10f951400>

>>> foo.__name__

'foo'

附加到對象的名稱與您用來訪問該對象的名稱無關(guān),但在定義函數(shù)(和類)時(shí),它們是相同的。


>>> bar = foo

>>> bar

<function foo at 0x10f951400>

你甚至可以去掉你用來訪問函數(shù)的變量,只要你在其他地方有一個(gè)引用:


>>> funcs = [foo]

>>> funcs[0]

<function foo at 0x10f951400>

>>> del foo

>>> foo

Traceback (most recent call last):

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

NameError: name 'foo' is not defined

>>> funcs[0]

<function foo at 0x10f951400>

>>> funcs[0].__name__

'foo'

內(nèi)置函數(shù)類型是這樣的:沒有變量引用它,但它仍然存在,并且有一個(gè)__name__:


>>> def foo(): pass

...

>>> type(foo)

<class 'function'>

>>> type(foo).__name__

'function'


查看完整回答
反對 回復(fù) 2021-06-08
  • 3 回答
  • 0 關(guān)注
  • 609 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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