亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

自學(xué)Python教程【第六十五節(jié)】函數(shù)的參數(shù)傳遞(1)

同學(xué)們,歡迎大家來到自學(xué)Python教程教室,上一講我們分享了 Python 里一個我非常喜歡的特性--列表綜合(List Comprehension)。所謂列表綜合,就是通過一個已有的列表生成一個新的列表的相關(guān)知識,這節(jié)我們向大家分享函數(shù)的參數(shù)傳遞的相關(guān)內(nèi)容。與以往不同的是本篇我們面向有一點點 Python 基礎(chǔ)的讀者,零基礎(chǔ)的看不懂也沒關(guān)系,慢慢來!

本節(jié)課關(guān)鍵字:Python函數(shù),參數(shù),默認值

先說下上次課最后留的那題,我自己的解法:

print ';'.join([str(i) for i in range(1,101) if i % 2 == 0 and i % 3 == 0 and i % 5 == 0])

另外,關(guān)于上次說的 List Comprehension,我在文中稱之為“列表綜合”,這是引自《簡明 Python 教程》的翻譯。也有同學(xué)表示叫做“列表解析”或“列表表達式”。都是一個意思,其實在寫這課之前,我從來都不去“叫”它,只知道這么用而已。

我們曾經(jīng)講過 Python 中函數(shù)的參數(shù)傳遞(見第19課)。最基本的方式是:

定義

def func(arg1, arg2): 
print arg1, arg2

調(diào)用

func(3, 7)

我們把函數(shù)定義時的參數(shù)名(arg1、arg2)稱為形參,調(diào)用時提供的參數(shù)(3、7)稱為實參。

這種方式是根據(jù)調(diào)用時提供參數(shù)的位置進行匹配,要求實參與行參的數(shù)量相等,默認按位置匹配參數(shù)。調(diào)用時,少參數(shù)或者多參數(shù)都會引起錯誤。這是最常用的一種函數(shù)定義方式。

在調(diào)用時,也可以根據(jù)形參的名稱指定實參。如:

func(arg2=3, arg1=7)

但同樣,必須提供所有的參數(shù)??纯春蚮unc(3, 7)的運行結(jié)果有什么不同。

Python 語言還提供了其他一些更靈活的參數(shù)傳遞方式,如:

func2(a=1, b=2, c=3) 
func3(*args)

func4(**kargs)

今天我們先說說func2這種方式。

這種方式可以理解為,在一般函數(shù)定義的基礎(chǔ)上,增加了參數(shù)的默認值。這樣定義的函數(shù)可以和原來一樣使用,而當你沒有提供足夠的參數(shù)時,會用默認值作為參數(shù)的值。

例如:

定義

def func(arg1=1, arg2=2, arg3=3): 
print arg1, arg2, arg3

調(diào)用

func(2, 3, 4) 
func(5, 6)
func(7)

輸出為

2 3 4 
5 6 3
7 2 3

提供的參數(shù)會按順序先匹配前面位置的參數(shù),后面未匹配到的參數(shù)使用默認值。

也可以指定其中的部分參數(shù),如:

func(arg2=8) 
func(arg3=9, arg1=10)

輸出為

1 8 3 

10 2 9

或者混合起來用:

func(11, arg3=12)

輸出為

11 2 12

但要注意,沒有指定參數(shù)名的參數(shù)必須在所有指定參數(shù)名的參數(shù)前面,且參數(shù)不能重復(fù)。以下的調(diào)用都是錯誤的:

func(arg1=13, 14) 
func(15, arg1=16)

定義參數(shù)默認值的函數(shù)可以在調(diào)用時更加簡潔。大量 Python 模塊中的方法都運用了這一方式,讓使用者在調(diào)用時可以提供盡可能少的參數(shù)。

接下來的幾次課,我會繼續(xù)介紹其他的參數(shù)傳遞方式。

恭喜您在Python自學(xué)的道路上又堅持了一天,今天我們開始了Python中函數(shù)的參數(shù)傳遞(1),下節(jié)課我們將分享更多Python中函數(shù)的參數(shù)傳遞的相關(guān)內(nèi)容,敬請關(guān)注 !

好啦,今天的分享到這里就結(jié)束了,希望大家能夠持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會有大量的優(yōu)質(zhì)內(nèi)容與大家分享!

聲明:文章來源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機構(gòu)!