国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 后端開發(fā) Python教程 function是什么意思?

function是什么意思?

May 15, 2019 am 10:13 AM
function

function是什么意思?

Function,表示子例程的一般性名詞。在某些編程語(yǔ)言中,它指帶返回值的子例程或語(yǔ)句。在一些編程語(yǔ)言中起著關(guān)鍵字的作用。

在Python中,function是非常重要而且常見的,一般獲取類或函數(shù)的參數(shù)信息。

在Python中,function一般有如下幾類:

一、POSITIONAL_OR_KEYWORD

如果沒有任何*的聲明,那么就是POSITIONAL_OR_KEYWORD類型的,如同語(yǔ)義一樣,POSITIONAL_OR_KEYWORD類型的參數(shù)可以通過位置POSITIONAL傳參調(diào)用,也可以過關(guān)鍵字KEYWORD傳參。以下是一個(gè)最簡(jiǎn)單的例子:

def foo(a):
pass
# 位置傳參調(diào)用
foo(1)
# 關(guān)鍵字傳參調(diào)用
foo(a=1)

二、VAR_POSITIONAL

第二種是可變的位置參數(shù),通過一個(gè)*前綴來聲明,如果你看到一個(gè)*xxx的函數(shù)參數(shù)聲明(不是函數(shù)調(diào)用!聲明和調(diào)用是兩種不同的含義的),那一定是屬于VAR_POSITIONAL類型的,如同語(yǔ)義,這種類型的參數(shù)只能通過位置POSITIONAL傳參調(diào)用,不支持關(guān)鍵字KEYWORD傳參,在函數(shù)內(nèi)部,VAR_POSITIONAL類型的參數(shù)以一個(gè)元祖(tuple)顯示,有一點(diǎn)需要注意的,VAR_POSITIONAL類型可以不傳任何參數(shù)調(diào)用也不會(huì)報(bào)錯(cuò),而且只允許存在一個(gè)。以下是一個(gè)簡(jiǎn)單的例子:

def foo(*b):
print(b)
# 不傳參數(shù)不會(huì)報(bào)錯(cuò),參數(shù)值是一個(gè)空元祖
foo() # 結(jié)果是 ()
# 可以傳入任意個(gè)位置參數(shù)調(diào)用
foo(1, 2.0, '3', True) #結(jié)果是 (1, 2.0, '3', True)

三、KEYWORD_ONLY

第三種是關(guān)鍵字參數(shù),這種參數(shù)只會(huì)在VAR_POSITIONAL類型參數(shù)的后面而且不帶**前綴。如同語(yǔ)義,這類參數(shù)只能用關(guān)鍵字KEYWORD來傳參,不可以用位置傳參,因?yàn)槲恢脗鞯膮?shù)全讓前面的VAR_POSITIONAL類型參數(shù)接收完了,所以KEYWORD_ONLY只能通過關(guān)鍵字才能接收到參數(shù)值。以下是一個(gè)簡(jiǎn)單的例子:

# VAR_POSITIONAL不需要使用時(shí),可以匿名化
def foo(*, c):
pass
# 只能關(guān)鍵字傳參調(diào)用
foo(c=1)

四、VAR_KEYWORD

第四種是可變的關(guān)鍵字參數(shù),VAR_KEYWORD類型的參數(shù)通過**前綴來聲明(不是函數(shù)調(diào)用!聲明和調(diào)用是兩種不同的含義的)。如同語(yǔ)義,這種類型的參數(shù)只能通過關(guān)鍵字KEYWORD調(diào)用,但可以接收任意個(gè)關(guān)鍵字參數(shù),甚至是0個(gè)參數(shù),在函數(shù)內(nèi)部以一個(gè)字典(dict)顯示。VAR_KEYWORD類型的參數(shù)只允許有一個(gè),只允許在函數(shù)的最后聲名。以下是簡(jiǎn)單的例子:

def foo(**d):
print(d)
# 不傳參數(shù)不會(huì)報(bào)錯(cuò),參數(shù)值是一個(gè)空字典
foo() # 結(jié)果是 {}
# 可以傳入任意個(gè)關(guān)鍵字參數(shù)調(diào)用
foo(a=1, b=2.0, c='3', d=True) # 結(jié)果是 {'d': True, 'c': '3', 'b': 2.0, 'a': 1}

五、POSITIONAL_ONLY

第五種是位置參數(shù),選擇最后說這個(gè),是因?yàn)樗稽c(diǎn)也不重要,屬于python的歷史產(chǎn)物,你無法在高版本的python中創(chuàng)建一個(gè)POSITIONAL_ONLY類型的參數(shù),在某種底層的內(nèi)置函數(shù)也許會(huì)使用這類型的參數(shù),但我試用inspect模塊也沒法正確識(shí)別它的命名,但在Ipython的??幫助下,還是能看到Init signature: dict(self, /, *args, **kwargs)這里的self就是位置參數(shù)POSITIONAL_ONLY了。相信我,你不會(huì)需要用到它的,現(xiàn)在python推薦用VAR_POSITIONAL來代替它。下面是一個(gè)綜合示例:

import inspect
def foo(a, *b, c, **d):
pass
for name, parame in inspect.signature(foo).parameters.items():
print(name, ': ', parame.kind)

默認(rèn)參數(shù)

VAR類型不允許設(shè)置默認(rèn)參數(shù)

POSITIONAL_OR_KEYWORD和KEYWORD_ONLY可以自定義默認(rèn)參數(shù),而VAR_POSITIONAL和VAR_KEYWORD不允許自定義默認(rèn)參數(shù)的,因?yàn)閂AR_POSITIONAL的默認(rèn)參數(shù)是tuple()空元祖,而VAR_KEYWORD的默認(rèn)參數(shù)是dict()空字典。如果自定義了默認(rèn)參數(shù)的話,調(diào)用函數(shù)的時(shí)候可以不必傳參,如果默認(rèn)值是空的話,那就必須傳參數(shù)才能調(diào)用。

默認(rèn)參數(shù)的位置

POSITIONAL_OR_KEYWORD類型的默認(rèn)參數(shù)一定要放在后面,否則會(huì)報(bào)錯(cuò),KEYWORD_ONLY雖然沒有強(qiáng)制要求,因?yàn)槎际怯藐P(guān)鍵字傳參,誰(shuí)先誰(shuí)后都無所謂,但最好還是盡可能地放在后面吧。

默認(rèn)參數(shù)不默認(rèn)?

默認(rèn)參數(shù)絕對(duì)不能設(shè)置為可變類型(比如list, dict, set),如果你在函數(shù)內(nèi)改變了默認(rèn)參數(shù),下次再調(diào)用時(shí)它就不再是默認(rèn)值了。

正確的示例:

def foo(p1, p2=2.0, *, k1, k2=None):
a_list = k2 or list()
pass
foo(1, k1='3')

以上是function是什么意思?的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
function是什么意思 function是什么意思 Aug 04, 2023 am 10:33 AM

function是函數(shù)的意思,是一段具有特定功能的可重復(fù)使用的代碼塊,是程序的基本組成單元之一,可以接受輸入?yún)?shù),執(zhí)行特定的操作,并返回結(jié)果,其目的是封裝一段可重復(fù)使用的代碼,提高代碼的可重用性和可維護(hù)性。

MySQL.proc表的作用和功能詳解 MySQL.proc表的作用和功能詳解 Mar 16, 2024 am 09:03 AM

MySQL.proc表的作用和功能詳解MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者在使用MySQL時(shí)常常會(huì)涉及到存儲(chǔ)過程(StoredProcedure)的創(chuàng)建和管理。而MySQL.proc表則是一個(gè)非常重要的系統(tǒng)表,它存儲(chǔ)了數(shù)據(jù)庫(kù)中所有的存儲(chǔ)過程的相關(guān)信息,包括存儲(chǔ)過程的名稱、定義、參數(shù)等。在本文中,我們將詳細(xì)解釋MySQL.proc表的作用和功能

'enumerate()'函數(shù)在Python中的用途是什么? 'enumerate()'函數(shù)在Python中的用途是什么? Sep 01, 2023 am 11:29 AM

在本文中,我們將了解enumerate()函數(shù)以及Python中“enumerate()”函數(shù)的用途。什么是enumerate()函數(shù)?Python的enumerate()函數(shù)接受數(shù)據(jù)集合作為參數(shù)并返回一個(gè)枚舉對(duì)象。枚舉對(duì)象以鍵值對(duì)的形式返回。key是每個(gè)item對(duì)應(yīng)的索引,value是items。語(yǔ)法enumerate(iterable,start)參數(shù)iterable-傳入的數(shù)據(jù)集合可以作為枚舉對(duì)象返回,稱為iterablestart-顧名思義,枚舉對(duì)象的起始索引由start定義。如果我們忽

如何在PHP中使用SOA函數(shù) 如何在PHP中使用SOA函數(shù) May 18, 2023 pm 01:10 PM

隨著互聯(lián)網(wǎng)的發(fā)展,SOA(面向服務(wù)的架構(gòu))已經(jīng)成為了當(dāng)今企業(yè)級(jí)系統(tǒng)中的一種重要的技術(shù)架構(gòu)。SOA架構(gòu)中的服務(wù)可以被重復(fù)使用、重組和擴(kuò)展,同時(shí)還能夠簡(jiǎn)化系統(tǒng)開發(fā)和維護(hù)的過程。PHP作為一種被廣泛使用的Web編程語(yǔ)言,也提供了一些用于實(shí)現(xiàn)SOA的函數(shù)庫(kù)。接下來,我們將詳細(xì)介紹如何在PHP中使用SOA函數(shù)。一、SOA的基本概念SOA是一種分布式系統(tǒng)開發(fā)的思想和架構(gòu)

在PHP中的clearstatcache()函數(shù) 在PHP中的clearstatcache()函數(shù) Sep 07, 2023 am 09:33 AM

clearstatcache()函數(shù)用于清除文件狀態(tài)緩存。PHP緩存以下函數(shù)返回的信息?stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms()這樣做是為了提供更好的性能。語(yǔ)法voidclearstatecache()參數(shù)NA返回值clearstatcache(

Vue.use函數(shù)的用法和作用 Vue.use函數(shù)的用法和作用 Jul 24, 2023 pm 06:09 PM

Vue.use函數(shù)的用法和作用Vue是一款流行的前端框架,它提供了許多有用的功能和功能。其中之一就是Vue.use函數(shù),它可以讓我們?cè)赩ue應(yīng)用中使用插件。本文將介紹Vue.use函數(shù)的用法和作用,并且提供一些代碼示例。Vue.use函數(shù)的基本用法非常簡(jiǎn)單,只需在Vue實(shí)例化之前調(diào)用它,并傳入要使用的插件作為參數(shù)。下面是一個(gè)簡(jiǎn)單的示例://引入并使用插件

js函數(shù)function用法是什么 js函數(shù)function用法是什么 Oct 07, 2023 am 11:25 AM

js函數(shù)function用法有:1、聲明函數(shù);2、調(diào)用函數(shù);3、函數(shù)參數(shù);4、函數(shù)返回值;5、匿名函數(shù);6、函數(shù)作為參數(shù);7、函數(shù)作用域;8、遞歸函數(shù)。

在PHP中的file_exists()函數(shù) 在PHP中的file_exists()函數(shù) Sep 14, 2023 am 08:29 AM

file_exists方法檢查文件或目錄是否存在。它接受要檢查的文件或目錄的路徑作為參數(shù)。以下是它的用途-當(dāng)您需要在處理之前知道文件是否存在時(shí),它非常有用。這樣,在創(chuàng)建新文件時(shí)使用此函數(shù)即可知道該文件是否已存在。語(yǔ)法file_exists($file_path)參數(shù)file_path-設(shè)置要檢查是否存在的文件或目錄的路徑。必需。返回file_exists()方法返回。如果文件或目錄存在,則返回TrueFalse,如果文件或目錄不存在示例讓我們看一個(gè)檢查“candidate.txt”文件和即使文件

See all articles