久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

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

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

本節(jié)課關鍵字: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])

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

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

定義

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

調用

func(3, 7)

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

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

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

func(arg2=3, arg1=7)

但同樣,必須提供所有的參數(shù)。看看和func(3, 7)的運行結果有什么不同。

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

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

func4(**kargs)

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

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

例如:

定義

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

調用

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ù)不能重復。以下的調用都是錯誤的:

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

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

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

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

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

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

相關新聞

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

    1. 主站蜘蛛池模板: 洪洞县| 沾益县| 凤翔县| 永兴县| 康平县| 保定市| 东平县| 惠安县| 赤水市| 高州市| 乌拉特前旗| 休宁县| 革吉县| 囊谦县| 顺义区| 子长县| 濮阳县| 娄底市| 连江县| 桓仁| 大英县| 北宁市| 聂拉木县| 金溪县| 阳春市| 青海省| 岳西县| 望城县| 西昌市| 安宁市| 昭通市| 大邑县| 安龙县| 田阳县| 加查县| 鲁甸县| 富锦市| 锦屏县| 观塘区| 廉江市| 长治市|