python簡單的函數定義和用法實例
成都創新互聯是專業的大城網站建設公司,大城接單;提供成都做網站、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行大城網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
這篇文章主要介紹了python簡單的函數定義和用法,實例分析了Python自定義函數及其使用方法,具有一定參考借鑒價值,需要的朋友可以參考下
具體分析如下:
這里定義了一個溫度轉換的函數及其用法。
def convertTemp(temp, scale):
if scale == "c":
return (temp - 32.0) * (5.0/9.0)
elif scale == "f":
return temp * 9.0/5.0 + 32
temp = int(input("Enter a temperature: "))
scale = input("Enter the scale to convert to: ")
converted = convertTemp(temp, scale)
print("The converted temp is: " + str(converted))
希望本文所述對大家的Python程序設計有所幫助。
==================================
將列表傳遞給函數后,函數就能直接訪問其內容
假設有一個用戶列表,要問候其中的每位用戶
將列表傳遞給函數后,函數就可對其進行修改,在函數中對這個列表所做的任何修改都是永久性的
一家為用戶提交的設計制作3D打印模型的公司,需要打印的設計存儲在一個列表中,打印后轉移到另一個列表中。
有時候需要禁止函數修改列表,為解決這個問題,可想向函數傳遞列表的副本而不是元件;這樣函數所做的任何修改都只影響副本,不影響元件
有時候,預先布置的函數需要接受多少個實參,python允許函數從調用語句中手機任意數量的實參
一個制作披薩的寒素,它需要接受很多配料,但無法確定顧客要多少種配料,下面函數只有一個形參*toppings,不管調用語句提供了多少實參,這個形參都將他們統統收入囊中
如果要讓函數接受不同類型的實參,必須在函數定義中將接納任意數量實參的形參放在最后
python先匹配位置實參和關鍵字實參,再將余下的實參收集到最后一個形參中
如果前邊的函數還需要一個表示披薩尺寸的實參,必須將該形參放在*toppings的前面
有時候,需要接受任意數量的實參,但預先不知道傳遞給函數的會是射門楊的信息,再這種情況下,可將函數編寫成能夠接受任意數量的鍵-值對,調用語句提供了多少就接受多少
創建用戶簡介:你知道你將收到有關用戶的信息,但不確定會是什么樣的信息,在下面示例中,build_profile()接受名和姓,同時還接受任意數量的關鍵字實參
【033】Python(喵喵教程)百度網盤免費資源在線學習 ?
鏈接:
提取碼: 1ek8 ?
【033】Python(喵喵教程) 量化金融項目 北京15期就業班
python課件 python開發工具 python基礎班 Python3爬蟲課程資料代碼.zip
1-4 項目飛機大戰 1-3 面向對象 1-2 python基礎 1-1 Linux基礎 14-vi編輯器 13-ubuntu軟件安裝 12-打包壓縮 11-其他命令 ?
Python 函數定義以及參數傳遞
1.函數定義
#形如def func(args...):
doSomething123
以關鍵字def 開頭,后面是函數名和參數下面是函數處理過程。
舉例:
def add( a, b ):
return a+b12
參數可以設定默認值,如:
def add( a, b=10 ): #注意:默認值參數只會運算一次
return a+b12
默認值參數只會運算一次是什么意思?
def func( a, b=[] ): #b的默認值指向一個空的列表,每次不帶默認值都會指向這塊內存
b.append(a) return b
print(func(1))#向默認的空列表里加入元素1 ,默認列表里已經是[1]print(func(2))#向默認的列表里加入元素2,默認列表里已經是[1,2]print(func(3,[]))#向b指向的空列表里加入元素1 ,默認列表里還是[1,2]print(func(4))#向默認的列表里加入元素4,默認列表里已經是[1,2,4]'''
結果:
[1]
[1, 2]
[3]
[1, 2, 4]
'''12345678910111213141516
這下明白為什么默認參數只計算一次了吧,函數參數不傳遞時默認值總是指向固定的內存空間,就是第一次計算的空間。
2.參數傳遞
def func(a, b):
print('a=%d, b=%d' % (a,b) )12
在使用函數時可以如下方式,結果都是相同的
func(10,20) #不使用參數名,需要按參數順序傳遞func(a=10,b=20) #使用參數名可以不按順序傳遞func(b=20,a=10)#結果:a=10, b=20a=10, b=20a=10, b=201234567
如果函數定義形式如下方式:
def func(*args): #這種定義會把傳遞的參數包成元組
print(args,type(args))
func(10,20)#結果:#(10, 20) class 'tuple'1234567
舉一個和上述過程相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
a = (10, 20)
func(*a) #在調用函數使用`*`則會把元組解包成單個變量按順序傳入函數#結果:a=10, b=20123456
總結:*號在定義函數參數時,傳入函數的參數會轉換成元組,如果 *號在調用時則會把元組解包成單個元素。
另一種定義:
def func(**kw):#使用**定義參數會把傳入參數包裝成字典dict
print(kw, type(kw) )
func(a=10,b=20)#這種函數在使用時必須指定參數值,使用key=value這種形式#結果:{'b': 20, 'a': 10} class 'dict'12345
相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
d = {'a':10, 'b':20 }
func(**d) #在調用時使用**會把字典解包成變量傳入函數。12345
def func(*args, **kw):#這種形式的定義代表可以接受任意類型的參數
print(args,kw )12
總結:**號在定義函數參數時,傳入函數的參數會轉換成字典,如果 **號在調用時則會把字典解包成單個元素。
lambda表達式
lambda表達式就是一種簡單的函數
形如 f = lambda 參數1,參數2: 返回的計算值
例如:
add = lambda x,y: x+y
print(add(1,2))'''
結果:3
'''12345
網頁名稱:python函數課件 python函數課件ppt
網站網址:http://vcdvsql.cn/article12/hepggc.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、域名注冊、Google、營銷型網站建設、網站策劃、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯