模塊函數(shù)指的是模塊中的函數(shù),模塊函數(shù)有三種:
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設計制作、做網(wǎng)站與策劃設計,高縣網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:高縣等地區(qū)。高縣做網(wǎng)站價格咨詢:18982081108導入方法主要有三種:
import math
math.e
alias表示別名.
從模塊導入函數(shù).
與上一種類似,加上了別名.
使用關(guān)鍵字def定義:
def func():
print(1)
docstring就是注釋,描述了函數(shù)的功能,使用三個單引號或三個雙引號,可以用help()獲取函數(shù)的docstring.
def func():
'''
func docstring
'''
print(1)
help(func)
直接使用函數(shù)名即可,需要的話要加上參數(shù).
func()
func(22)
返回值在return里指定,可以返回多個值:
def f():
return 1,2,3,4
相當于返回一個元組.若函數(shù)沒有return,則返回None.
形參就是函數(shù)定義時的參數(shù)列表里面的參數(shù),可以分為:
def f(x1,x2,x3=3)
其中x1,x2必選形參,x3可選形參.
帶一個 的形參表示該形參類型為元組,帶兩個 的形參表示該參數(shù)類型為字典.
出現(xiàn)在*后的參數(shù).
def f(x1,*x2,x3,x4)
x3與x4就是命名關(guān)鍵字參數(shù),在調(diào)用時必須顯式使用參數(shù)名.
python實參可以分為位置實參與關(guān)鍵字實參.
位置參數(shù)就是沒有指定形參名字的實參,每個實參基于順序關(guān)聯(lián)到一個形參.
關(guān)鍵字參數(shù)就是指定了形參名字的實參,用鍵值對的形式指定,可以不按順序調(diào)用.
def f(x1,x2,x3):
print(x1,x2,x3)
f(1,2,3)
f(x3=999,x1=888,x2=999999)
python變量的可見性有三種:全局變量,局部變量,非局部變量.
在函數(shù)內(nèi)的變量為局部變量,因此,以下代碼會輸出9:
x1 = 8
def f():
x1 = 9
print(x1)
f()
如果在x1之前輸出呢?
直接提示沒有定義x1,就是全局變量x1在函數(shù)內(nèi)不可見,但筆者不死心,一定要運行一下.
它說局部變量x1沒有被賦值,注意,是局部變量,因此,這也證明了全局變量在函數(shù)內(nèi)不可見.
若要使全局變量在函數(shù)內(nèi)可見,使用global:
x1 = 8
def f():
global x1
print(x1)
x1 = 9
print(x1)
f()
global x1表示x1是一個全局變量,注意global x1需要單獨占一行.
用于嵌套函數(shù)中,使用nonlocal聲明,表示內(nèi)層函數(shù)的這個變量是外層函數(shù)的.
x1 = 8
def f():
x1 = 9
print(x1)
def f1():
nonlocal x1
print(x1)
x1 = 10
print(x1)
return f1
f()
f()()
第一個與第二個9都是f()中的print()輸出的,第三個9是f1()中的print()輸出的.
當實參傳遞給形參時,有兩種傳遞規(guī)則,一是值傳遞,而是地址傳遞.
當實參為不可變對象時,采用值傳遞規(guī)則,常見的不可變對象類型包括int,float,str,bool,tuple.
def f(x):
x = 1
print(x)
x = 3
print('-------int------')
f(x)
print(x)
print()
x = 'string'
print('-------str------')
f(x)
print(x)
print()
x = (3,4,5)
print('-------tuple------')
f(x)
print(x)
print()
x = 5.799
print('-------float------')
f(x)
print(x)
print()
參數(shù)為可變對象時,采用地址傳遞規(guī)則,修改形參的值會同時改變實參的值.常見的可變對象類型包括list,set,dict.
def f(x):
if type(x) == list:
x = x.reverse()
elif isinstance(x,set):
x.add(8)
else:
x['0'] = 3
x = [1,2,3]
print('-------list------')
print(x)
f(x)
print(x)
print()
x = {4,5,6}
print('-------set------')
print(x)
f(x)
print(x)
print()
x = {'a':1,'b':2}
print('-------dict------')
print(x)
f(x)
print(x)
print()
lambda是一種特殊的自定義函數(shù),使用關(guān)鍵字lambda進行定義,是一種匿名函數(shù),函數(shù)體一般很短.
以關(guān)鍵字lambda開頭,后面是參數(shù)列表,參數(shù)列表結(jié)束后加一個冒號,后面是返回值.
y = lambda x:x*3
z = lambda x,y:x*y
調(diào)用可以通過"函數(shù)名"調(diào)用,或者配合其他函數(shù)使用.
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前題目:Python基礎(七)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article36/dhggpg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站營銷、服務器托管、網(wǎng)站設計公司、靜態(tài)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)