好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 淺談Python中的函數(def)及參數傳遞操作

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

熱門標簽:開封自動外呼系統怎么收費 400電話辦理哪種 手機網頁嵌入地圖標注位置 應電話機器人打電話違法嗎 電銷機器人的風險 天津電話機器人公司 河北防封卡電銷卡 地圖標注線上如何操作 開封語音外呼系統代理商

如下所示:

#抽象 (函數)
 
# 1、callable  判斷一個對象是否可以被調用
x = 1
def y():
    return None
callable(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、位置參數  ?。病㈥P鍵字參數  
# 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 -1
def call_foo(*args, **kwds):  #收集參數
    print('calling foo!')
    foo(*args, kwds)   #分配參數   這里如果用foo(*args, **kwds)  **kwds會報錯
x1 = 1
y1 = 2
z1 = 3
d = {
    'm1': 4,
    'n1': 5
}
print(call_foo(x1, y1, z1, d1=1, d2=2))  #調用的時候  一個字典是作為一個位置參數的  
 
 
 
# 作用域 :1、全局變量    2、局部變量
 
# 注意: 在局部函數(局部函數中默認變量都是局部變量)中使用全局變量: 1、只使用一次(且重名了)   2、聲明后使用(聲明后就是全局變量了)
# 1、只使用一次(且重名了):
para = 1
def combine(para):
    print(para,globals()['para'])    # globals()['para']   
combine(2)
 
# 2、聲明后使用(聲明后就是全局變量了):
xx = 2
def change_global():
    global xx     #聲明后就是全局變量了
    xx = xx +2
    print(xx)
change_global()
 
# 3、vars(): 賦值其實是一個看不見的字典   使用后返回的就是一個字典
x11 = 1
x22 = vars() 
print(x22['x11'])
 
# 4、 vars()  globals()   locals()  使用后都是返回一個字典
 
 
# 作用域嵌套
def multi(fac):
    def multiFac(num):   # multiFac(num)函數被稱為 : 閉包
        return num * fac
    return multiFac
dou = 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=2
b=[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=10
nint=2
tmpF(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指向的仍舊是這個對象。

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • OpenCV-Python實現通用形態學函數
  • python通過函數名調用函數的幾種方法總結
  • Python量化交易實戰之使用Resample函數轉換“日K”數據
  • Python函數裝飾器的使用教程
  • 解決Python中的modf()函數取小數部分不準確問題
  • Python基礎之函數嵌套知識總結
  • python 定義函數 返回值只取其中一個的實現
  • 這三個好用的python函數你不能不知道!

標簽:駐馬店 成都 蘭州 六盤水 山東 江蘇 宿遷 常州

巨人網絡通訊聲明:本文標題《淺談Python中的函數(def)及參數傳遞操作》,本文關鍵詞  淺談,Python,中的,函數,def,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談Python中的函數(def)及參數傳遞操作》相關的同類信息!
  • 本頁收集關于淺談Python中的函數(def)及參數傳遞操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 肌肉男外卖员体育生gay小说 | H高潮娇喘抽搐喷潮撒尿漫画男男 粗大挺进紧致抽搐喷潮 | 毛片中文字幕无遮挡免费视频| 被公侵犯在线观看| 欧美肥妇BwBWBWBXx小说| 国内精品综合久久久40p| 摄政王h| 雪白的身体上耕耘着| 欧美夜夜精品一级爽| 久久国产精品2020免费m3u8| 91会所技师女技师服务内容| 巨大热杵在腿间进进出出视频| 日本娇小被黑人巨大撑爆SexVideo| 午夜精品女人A片爽爽免费 | 黄页大全在线观看| 日本熟妇毛茸茸xxxx| 方山县| 日批免费观看| 美女扒开双腿让男人爽透视频| 老头猛地挺进她莹莹的体内视频| 欧美性生活| 拉拉h全文肉肉| 涩涩涩涩涩| 黑人狂躁刘玥XXⅩXX| 亚洲精品www久久久久久软件| 精品a一区二区三区| 老男人粗大猛| 天天操夜夜操天天操| 舌吻又捏胸摸下面污污网站| 小莹的乳液计小说全文| 日本女人| 日本动漫黄网站在线观看| 一级做ae直播是免费的吗四季| 欧美精品国产精品浪潮Av| heyzo亚洲精品日韩| 啊啊嗯嗯| 中文字幕av人妻一本二本| 久操伊人| theidol美剧在线观看| 小婷的性放荡日记| 和林格尔县|