日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Python中的函數(def)及參數傳遞操作

瀏覽:4日期:2022-06-18 14:28:19
如下所示:

#抽象 (函數) # 1、callable 判斷一個對象是否可以被調用x = 1def y(): return Nonecallable(y) # y可以被調用callable(x) # x不可以被調用 # 2、當函數沒有return時 函數將默認返回None# 3、放在函數開頭的字符串成為文檔字符串 如下:def square(x): ’my name is hexianmin’ #這個為文檔字符串 將作為函數的一部分存儲起來 return x*x # 4、函數中的 ’傳值’ 和 ’傳地址’ 切片列表產生的是一個相等但不相同的副本(即兩個列表存儲地址不一樣)# 傳值: 調用函數時傳 變量 eg: x = 1 change(x)# 傳地址: 調用函數時傳 列表(在這里說明:元組不可以改變 傳過去也不能修改) eg: x = list(’pyhon’) change(x) # 函數參數 :?。?、位置參數?。?、關鍵字參數# 1、位置參數 :實參與形參的對應關系為 ’一一對應’ 的關系 實參的前后位置決定了形參接到的值# 2、關鍵字參數 :由指定關鍵字去給形參傳值(或者傳地址) 像字典一樣 key-value 的對應關系# 注意: 1、二者不可以沖突 2、關鍵字參數和位置參數可以混在一起用,優先關鍵字參數,剩下的按照位置一一對應 # * / ** 的妙用 :收集參數 和 分配參數 的作用# 收集參數: * : 將 多余的 一般的對象(位置參數,字典也將作為位置參數)收集成元組類型 ** : 將 多余的 關鍵字參數 收集為字典類型# 分配參數: * : 將元組類型的參數分配給形參 ** : 將字典類型的參數分配給形參 # 收集參數:def print_params_1(x, y, z=3, *pospar, **keypar): #注意這里的 z=3 是給z賦一個默認值 當調用函數時沒有給z賦值時使用 但是一旦調用時給z賦值了 z就不用默認值了print(x, y, z) print(pospar) #在函數里面使用時 : 1、不帶星號(*) 是 一個元組 2、帶星號(*) 是 取元組中的每個值出來 print(keypar) #在函數里面使用時 : 1、不帶星號(**) 是 一個字典(但是取不了值出來) 2、帶一個星號(*) 是 取字典中的每個關鍵字(key)出來 3、帶兩個星號 會報錯print_params_1(1, 2, 4, 5, 6, 7, foo=1, bar=2) # 分配參數:def foo(x, y, z, m=0, n=0): print(x, y, z) print(m) print(n) return -1def call_foo(*args, **kwds): #收集參數 print(’calling foo!’) foo(*args, kwds) #分配參數 這里如果用foo(*args, **kwds) **kwds會報錯x1 = 1y1 = 2z1 = 3d = { ’m1’: 4, ’n1’: 5}print(call_foo(x1, y1, z1, d1=1, d2=2)) #調用的時候 一個字典是作為一個位置參數的 # 作用域 :1、全局變量 2、局部變量 # 注意: 在局部函數(局部函數中默認變量都是局部變量)中使用全局變量: 1、只使用一次(且重名了) 2、聲明后使用(聲明后就是全局變量了)# 1、只使用一次(且重名了):para = 1def combine(para): print(para,globals()[’para’]) # globals()[’para’] combine(2) # 2、聲明后使用(聲明后就是全局變量了):xx = 2def change_global(): global xx #聲明后就是全局變量了 xx = xx +2 print(xx)change_global() # 3、vars(): 賦值其實是一個看不見的字典 使用后返回的就是一個字典x11 = 1x22 = vars() print(x22[’x11’]) # 4、 vars() globals() locals() 使用后都是返回一個字典 # 作用域嵌套def multi(fac): def multiFac(num): # multiFac(num)函數被稱為 : 閉包return num * fac return multiFacdou = multi(2) #返回的 dou 現在是一個函數( multiFac(num)函數 )dou(3) #這樣相當于調用 multiFac(3) # list(map(str,range(10))) 與 [str(i) for i in range(10)] 是等價的# filter(lambda x: x.isalnum, seq)#from functools import reduce reduce(lambda x,y: x+y, numbers) # map filter reduce

補充:python參數傳遞問題(參數傳出)

變量、對象與類型關系

python是動態類型語言,并不需要預先聲明變量類型,變量的類型和值在賦值的那一刻完成初始化。進一步說,python中的類型是屬于對象的,而不是變量。

例如:

a=2b=[1,2]

分別表示把一個int對象2,賦值給a;把一個list對象[1,2]賦值給b。

也就是說在將不同類型的python對象通過賦值號賦給某一個變量時,才完成該變量的初始化,而使得該變量代表某種類型的對象。

函數不可更改參數傳遞

如果想進行參數傳遞,那么在python 中的定義函數之前,必須對參數的變量進行聲明,否則會出現提示global name ’abun1’ is not defined,當然,該變量的聲明過程可以是隱式的進行。

例如a=2或者a={},在對a進行賦值的那一刻完成變量的類型初始化,也即是完成變量的聲明。

但是,尤其需要注意的是,python中的int,long, bool, float,tuple() 等對象都是不能更改的,因此,在參數傳遞時,不能傳遞輸出這些類型的變量。

例如:

def tmpF(a): a=10nint=2tmpF(nint)print(nint) #結果仍是2

因為,變量nint代表一個整型對象2,調用函數tmpF()時,因整型對象無法改變,那么新建了一個整型對象10,使a指向它,因此nint代表的整型對象仍舊是2,沒有發生改變。

可更改參數傳遞

如果在定義函數時,想利用參數輸出某些處理過的變量,那必須使用可以更改的對象,如list,dict等。

例如:

def tmpF(a): a.append(2)nx=[]tmpF(nx)print(nx) #nx=[2]

因為,list是可更改類型對象,因此,在調用函數tmpF()時,對該list型對象進行了修改,而nx指向的仍舊是這個對象。

所以,函數可以通過可變類型對象,將參數輸出。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩高清一区在线| 国产剧情一区二区在线观看| 日韩av一级| 欧美1级日本1级| 精品视频一二| 日本视频一区二区| 国产一在线精品一区在线观看| 国产精品伦理久久久久久| 久草精品视频| 亚洲一区导航| 每日更新成人在线视频| 亚洲精品中文字幕乱码| 亚洲激情av| 久久亚洲成人| 欧美日韩国产高清| 麻豆91精品91久久久的内涵| 99精品美女| 不卡专区在线| 午夜视频一区二区在线观看| 中文一区一区三区免费在线观 | 亚洲综合婷婷| 国产美女亚洲精品7777| 久久高清国产| 亚洲伊人精品酒店| 成人免费网站www网站高清| 美女视频黄久久| 国产不卡人人| 精品午夜久久| 婷婷综合激情| 久久国产人妖系列| 欧美精品中文字幕亚洲专区| 久久国产成人| av中文字幕在线观看第一页| 亚洲少妇自拍| a日韩av网址| 蜜臀久久99精品久久久久久9| av亚洲免费| 奇米狠狠一区二区三区| 日韩精品久久久久久久电影99爱| 免费在线观看视频一区| 国产一区二区三区四区五区传媒| 亚洲欧美日韩视频二区| 国产极品嫩模在线观看91精品| 国产aa精品| 欧美视频一区| 日韩视频一区| 国产成人调教视频在线观看| 日韩一级欧洲| av资源中文在线| 日本一不卡视频| 精品三区视频| 黑丝一区二区三区| 蜜桃久久精品一区二区| 欧美日韩夜夜| 欧美成人午夜| 美腿丝袜亚洲一区| 亚洲综合激情在线| 一区久久精品| 亚洲精品福利| 日韩欧美高清一区二区三区| 日韩电影在线视频| 免费在线亚洲欧美| 国产日韩免费| 国产精品66| 日韩精品午夜视频| 国产一区二区三区日韩精品| 久久91导航| 国产日韩欧美在线播放不卡| 免费观看不卡av| 日韩精品久久久久久| 精品一区av| 久久青草久久| 青青草国产成人99久久| 好看的亚洲午夜视频在线| 国产日产高清欧美一区二区三区| 久久精品国产免费| 亚洲一区国产| 美女网站视频一区| 国产不卡人人| 91精品综合| 一区二区三区网站| 精品久久免费| 国产亚洲高清视频| 理论片午夜视频在线观看| 99在线精品免费视频九九视| 国产精品资源| 日本欧洲一区二区| 一本色道久久精品| 麻豆精品视频在线观看| 日韩高清不卡在线| 婷婷丁香综合| 精品亚洲成人| 国产极品久久久久久久久波多结野| 国产伦理久久久久久妇女| 国产三级一区| 丝袜诱惑一区二区| 婷婷亚洲成人| 欧美理论视频| 成人午夜亚洲| 91精品国产自产观看在线| 国产91精品对白在线播放| 日韩成人综合| 欧美日一区二区| 国产精品一级在线观看| 美女精品在线| 色88888久久久久久影院| 欧美精品导航| 日韩精选在线| 日韩精品一二区| 91一区二区| 国产精品传媒麻豆hd| 日本一区二区三区中文字幕| 精品欧美久久| 国产精品二区不卡| 欧美激情亚洲| 日韩国产欧美视频| 中文字幕一区日韩精品| 国产一级一区二区| 免费成人网www| 啪啪国产精品| 午夜影院一区| 日韩欧美字幕| 91日韩在线| 97精品国产福利一区二区三区| 国产探花在线精品| 欧美在线不卡| 国产一级成人av| 国产调教一区二区三区| 欧美在线不卡| 欧美日韩视频免费看| 日韩精品一区二区三区中文字幕| 免费人成黄页网站在线一区二区| 欧美专区一区二区三区| 模特精品在线| 美美哒免费高清在线观看视频一区二区| 久久99伊人| 亚洲精品伦理| 欧美天堂一区二区| 六月丁香综合在线视频| 国产精品自在| 成人美女视频| 欧美日韩国产探花| 亚洲一区二区日韩| 欧美一区激情| 成人在线超碰| 不卡在线一区| 亚洲美女91| 久久精品国产精品亚洲毛片| 成人国产精品| 欧美日韩在线二区| 一区视频在线| 午夜av成人| 亚洲成人日韩| 综合在线一区| 在线精品视频一区| 日本特黄久久久高潮| 欧美日本不卡| 国产精品最新| 免费观看在线综合| 青草国产精品久久久久久| 日韩国产成人精品| 日韩高清欧美激情| 国产麻豆精品| 亚洲精品成人图区| 性欧美videohd高精| 成人羞羞视频播放网站| 亚洲不卡av不卡一区二区| 亚洲成人va| 亚洲综合婷婷| 亚洲人妖在线| 日韩**一区毛片| 欧美日韩一视频区二区| 97久久超碰| 日韩国产一区二区三区| 欧洲在线一区| 激情91久久| 综合亚洲视频| 国产一区二区视频在线看| 日韩av福利| 日韩午夜精品| 亚洲免费观看高清完整版在线观| 日韩制服丝袜av| 国内一区二区三区| 欧美日韩亚洲在线观看| 欧美精品一二| 亚洲精选久久| 成人在线超碰| 最新日韩av| 日韩不卡一区二区| 麻豆国产91在线播放| 久久精品国内一区二区三区| 亚洲欧美一区在线| 免费国产亚洲视频| 国产剧情一区| 91看片一区| 视频一区二区欧美| 成人欧美一区二区三区的电影| 激情久久五月| 日本成人在线网站| 国产精品免费99久久久|