成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python函數(shù)傳列表,python列表值傳遞

python函數(shù)中傳入list為啥會這樣?,這破問題卡了一整天

代碼及運(yùn)行結(jié)果如圖:

在天鎮(zhèn)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),天鎮(zhèn)網(wǎng)站建設(shè)費(fèi)用合理。

從你的問題來看是一個新手,建議直接放棄2.x版本學(xué)習(xí)3.x版本。對現(xiàn)在的你來說用到的2與3版本之間的差異可能也就是print(如圖中所示與你代碼的差異),影響很小。

代碼解釋:

你的代碼中用A,B = inputlist,inputlist進(jìn)行賦值,實際A與B都是指向了同一個內(nèi)存對象,所以對其中任意一個做出修改,即修改了內(nèi)存中的這個對象,造成A與B同時修改。解決方法,引入copy模塊中的deepcopy()函數(shù),保證A與B指向長的一樣但在內(nèi)存中是兩個對象,這樣對其中一個修改時完全不影響到另一個。

python 函數(shù)參數(shù)類型

python 的函數(shù)參數(shù)類型分為4種:

1.位置參數(shù):調(diào)用函數(shù)時根據(jù)函數(shù)定義的參數(shù)位置來傳遞參數(shù),位置參數(shù)也可以叫做必要參數(shù),函數(shù)調(diào)用時必須要傳的參數(shù)。

當(dāng)參數(shù)滿足函數(shù)必要參數(shù)傳參的條件,函數(shù)能夠正常執(zhí)行:

add(1,2) #兩個參數(shù)的順序必須一一對應(yīng),且少一個參數(shù)都不可以

當(dāng)我們運(yùn)行上面的程序,輸出:

當(dāng)函數(shù)需要兩個必要參數(shù),但是調(diào)用函數(shù)只給了一個參數(shù)時,程序會拋出異常

add(1)

當(dāng)我們運(yùn)行上面的程序,輸出:

當(dāng)函數(shù)需要兩個必要參數(shù),但是調(diào)用函數(shù)只給了三個參數(shù)時,程序會拋出異常

add(1,2,3)

當(dāng)我們運(yùn)行上面的程序,輸出

2.關(guān)鍵字參數(shù):用于函數(shù)調(diào)用,通過“鍵-值”形式加以指定??梢宰尯瘮?shù)更加清晰、容易使用,同時也清除了參數(shù)的順序需求。

add(1,2) # 這種方式傳參,必須按順序傳參:x對應(yīng)1,y對應(yīng):2

add(y=2,x=1) #以關(guān)健字方式傳入?yún)?shù)(可以不按順序)

正確的調(diào)用方式

add(x=1, y=2)

add(y=2, x=1)

add(1, y=2)

以上調(diào)用方式都是允許的,能夠正常執(zhí)行

錯誤的調(diào)用方式

add(x=1, 2)

add(y=2, 1)

以上調(diào)用都會拋出SyntaxError 異常

上面例子可以看出:有位置參數(shù)時,位置參數(shù)必須在關(guān)鍵字參數(shù)的前面,但關(guān)鍵字參數(shù)之間不存在先后順序的

3.默認(rèn)參數(shù):用于定義函數(shù),為參數(shù)提供默認(rèn)值,調(diào)用函數(shù)時可傳可不傳該默認(rèn)參數(shù)的值,所有位置參數(shù)必須出現(xiàn)在默認(rèn)參數(shù)前,包括函數(shù)定義和調(diào)用,有多個默認(rèn)參數(shù)時,調(diào)用的時候,既可以按順序提供默認(rèn)參數(shù),也可以不按順序提供部分默認(rèn)參數(shù)。當(dāng)不按順序提供部分默認(rèn)參數(shù)時,需要把參數(shù)名寫上

默認(rèn)參數(shù)的函數(shù)定義

上面示例第一個是正確的定義位置參數(shù)的方式,第二個是錯誤的,因為位置參數(shù)在前,默認(rèn)參數(shù)在后

def add1(x=1,y) 的定義會拋出如下異常

默認(rèn)參數(shù)的函數(shù)調(diào)用

注意:定義默認(rèn)參數(shù)默認(rèn)參數(shù)最好不要定義為可變對象,容易掉坑

不可變對象:該對象所指向的內(nèi)存中的值不能被改變,int,string,float,tuple

可變對象,該對象所指向的內(nèi)存中的值可以被改變,dict,list

這里只要理解一下這個概念就行或者自行百度,后續(xù)會寫相關(guān)的專題文章講解

舉一個簡單示例

4.可變參數(shù)區(qū)別:定義函數(shù)時,有時候我們不確定調(diào)用的時候會多少個參數(shù),j就可以使用可變參數(shù)

可變參數(shù)主要有兩類:

*args: (positional argument) 允許任意數(shù)量的可選位置參數(shù)(參數(shù)),將被分配給一個元組, 參數(shù)名前帶*,args只是約定俗成的變量名,可以替換其他名稱

**kwargs:(keyword argument) 允許任意數(shù)量的可選關(guān)鍵字參數(shù),,將被分配給一個字典,參數(shù)名前帶**,kwargs只是約定俗成的變量名,可以替換其他名稱

*args 的用法

args 是用來傳遞一個非鍵值對的可變數(shù)量的參數(shù)列表給函數(shù)

語法是使用 符號的數(shù)量可變的參數(shù); 按照慣例,通常是使用arg這個單詞,args相當(dāng)于一個變量名,可以自己定義的

在上面的程序中,我們使用* args作為一個可變長度參數(shù)列表傳遞給add()函數(shù)。 在函數(shù)中,我們有一個循環(huán)實現(xiàn)傳遞的參數(shù)計算和輸出結(jié)果。

還可以直接傳遞列表或者數(shù)組的方式傳遞參數(shù),以數(shù)組或者列表方式傳遞參數(shù)名前面加(*) 號

理解* * kwargs

**kwargs 允許你將不定長度的鍵值對, 作為參數(shù)傳遞給函數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict

下篇詳細(xì)講解 *args, **kwargs 的參數(shù)傳遞和使用敬請關(guān)注

python常用列表函數(shù)

1

len(list)

列表元素個數(shù)

2

max(list)

返回列表元素最大值

3

min(list)

返回列表元素最小值

4

list(seq)

將元組轉(zhuǎn)換為列表

序號

方法

1

list.append(obj)

在列表末尾添加新的對象

2

list.count(obj)

統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)

3

list.extend(seq)

在列表末尾一次性追加另一個序列中的多個值(用新列表擴(kuò)展原來的列表)

4

list.index(obj)

從列表中找出某個值第一個匹配項的索引位置

5

list.insert(index, obj)

將對象插入列表

6

list.pop([index=-1])

移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值

7

list.remove(obj)

移除列表中某個值的第一個匹配項

8

list.reverse()

反向列表中元素

9

list.sort( key=None, reverse=False)

對原列表進(jìn)行排序

10

list.clear()

清空列表

11

list.copy()

復(fù)制列表

在python里,想要把列表傳進(jìn)函數(shù),在函數(shù)里使列表發(fā)生改變。怎么實現(xiàn)?

l?=?range(5)

def?func(m):

...?????m[3]?=?999

...?????

print?l

[0,?1,?2,?3,?4]

func(l)

print?l

[0,?1,?2,?999,?4]

直接修改列表就可以了

文章題目:python函數(shù)傳列表,python列表值傳遞
標(biāo)題URL:http://jinyejixie.com/article14/hsdsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站定制開發(fā)、網(wǎng)站建設(shè)面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
于田县| 西乡县| 南华县| 同心县| 古丈县| 桦甸市| 涪陵区| 姜堰市| 河源市| 贵南县| 长子县| 长乐市| 缙云县| 凤台县| 长子县| 舒城县| 永康市| 普陀区| 原平市| 香格里拉县| 嘉祥县| 普陀区| 高台县| 万载县| 新巴尔虎左旗| 盐津县| 内乡县| 富裕县| 平安县| 龙口市| 涞水县| 龙州县| 策勒县| 临漳县| 阜阳市| 霍城县| 丰镇市| 四子王旗| 伊宁县| 加查县| 天津市|