函數的python功能 函數作用python

python中函數的作用

Python 函數定義以及參數傳遞

創新互聯于2013年開始,是專業互聯網技術服務公司,擁有項目成都做網站、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元灤州做網站,已為上家服務,為灤州各地企業和個人服務,聯系電話:028-86922220

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中eval是干嘛的

eval是Python的一個內置函數,功能十分強大,這個函數的作用是,返回傳入字符串的表達式的結果。就是說:將字符串當成有效的表達式?來求值并?返回計算結果。

eval函數就是實現list、dict、tuple與str之間的轉化,同樣str函數把list,dict,tuple轉為為字符串

eval的語法:

eval(expression])expression:表達式。globals:(可選參數)變量作用域,全局命名空間,如果被提供,則必須是一個字典對象。locals:(可選參數)變量作用域,局部命名空間,如果被提供,可以是任何映射對象。

簡介:

eval函數主要是用來實現python中各種數據類型與str之間的轉換。字符串中包含的什么,通過eval函數就可以輸出什么。

比如字符串里面包含的字典就輸出字典,包含的列表就輸出列表,但是字符串相應的格式一定要輸入正確,否則會報錯。

sorted函數python

sorted函數python介紹如下

sorted() 作為?Python?內置函數之一,其功能是對序列(列表、元組、字典、集合、還包括字符串)進行排序。

sorted() 函數的基本語法格式如下

list = sorted(iterable, key=None, reverse=False)

其中,iterable 表示指定的序列,key 參數可以自定義排序規則;reverse 參數指定以升序(False,默認)還是降序(True)進行排序。sorted() 函數會返回一個排好序的列表。

注意,key 參數和 reverse 參數是可選參數,即可以使用,也可以忽略。

演示sorted()函數的基本代碼用法:

#對列表進行排序

a = [5,3,4,2,1]

print(sorted(a))

#對元組進行排序

a = (5,4,3,1,2)

print(sorted(a))

#字典默認按照key進行排序

a = {4:1,\

5:2,\

3:3,\

2:6,\

1:8}

print(sorted(a.items()))

#對集合進行排序

a = {1,5,3,2,4}

print(sorted(a))

#對字符串進行排序

a = "51423"

print(sorted(a))

python count()函數的功能和用法

python count()函數的功能和用法如下:

統計字符串

在python中可以使用“count()”函數統計字符串里某個字符出現的次數,該函數用于統計次數,其語法是“count(sub, start...

Python count() 方法用于統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置。

count()函數

描述:統計字符串里某個字符出現的次數。可以選擇字符串索引的起始位置和結束位置。? ? ? ? ?

語法:str.count("char", start,end)? 或 str.count("char")? ? - int? ? 返回整數

str —— 為要統計的字符(可以是單字符,也可以是多字符)。

star —— 為索引字符串的起始位置,默認參數為0。

end —— 為索引字符串的結束位置,默認參數為字符串長度即len(str)

Python 高階函數的使用

1. Python有哪些高階函數,功能分別是什么

Python有三大高階函數,分別是 map 、 reduce 、 filter 函數。

2. map高階函數

map函數有兩個參數,第一個參數要求傳遞一個函數對象,第二個參數要求傳遞一個可迭代序列。直接看案例

運行結果:

3. reduce高階函數

reduce高階函數位于functools模塊中,使用前需要先進行導入。reduce高階函數可以有三個參數,第一個參數要求傳遞一個函數對象(必傳),第二個參數要求傳遞一個可迭代序列(必傳),第三個函數是一個初始值(不必傳,可以有默認值)。直接看案例

運行結果:

4. filter高階函數

filter高階函數有兩個參數,第一個參數是一個函數對象,第二個參數是一個可迭代序列。直接看案例

運行結果:

python中函數定義

1、函數定義

①使用def關鍵字定義函數

def 函數名(參數1.參數2.參數3...):

"""文檔字符串,docstring,用來說明函數的作用"""

#函數體

return 表達式

注釋的作用:說明函數是做什么的,函數有什么功能。

③遇到冒號要縮進,冒號后面所有的縮進的代碼塊構成了函數體,描述了函數是做什么的,即函數的功能是什么。Python函數的本質與數學中的函數的本質是一致的。

2、函數調用

①函數必須先定義,才能調用,否則會報錯。

②無參數時函數的調用:函數名(),有參數時函數的調用:函數名(參數1.參數2.……)

③不要在定義函數的時候在函數體里面調用本身,否則會出不來,陷入循環調用。

④函數需要調用函數體才會被執行,單純的只是定義函數是不會被執行的。

⑤Debug工具中Step into進入到調用的函數里,Step Into My Code進入到調用的模塊里函數。

名稱欄目:函數的python功能 函數作用python
文章地址:http://m.kartarina.com/article38/hjocpp.html

成都網站建設公司_創新互聯,為您提供網站導航網站設計公司虛擬主機GoogleApp設計移動網站建設

廣告

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

成都定制網站網頁設計
主站蜘蛛池模板: 亚洲桃色AV无码| 亚洲欧洲美洲无码精品VA| 97久久精品亚洲中文字幕无码| 亚洲国产成人片在线观看无码| 97久久精品亚洲中文字幕无码| 少妇中文无码高清| 免费人妻无码不卡中文字幕系 | 国产精品亚洲а∨无码播放麻豆| 亚洲Av无码国产情品久久 | 亚洲国产精品无码av| 精品久久久久久无码中文字幕一区| 夜夜添无码一区二区三区| 无码一区二区三区中文字幕| 少妇精品无码一区二区三区 | 国产乱子伦精品无码专区| 999久久久无码国产精品| 亚洲av永久无码精品秋霞电影影院| 色欲aⅴ亚洲情无码AV| 亚洲精品无码mⅴ在线观看| 免费无码一区二区三区| 未满十八18禁止免费无码网站| 中文字幕无码一区二区三区本日| 无码高潮少妇毛多水多水免费| 亚洲精品偷拍无码不卡av| 人妻中文字系列无码专区| 国产成人无码18禁午夜福利p| 久久无码一区二区三区少妇 | 亚洲中文字幕无码永久在线| 手机在线观看?v无码片| 无码日韩人妻AV一区二区三区| 天堂Av无码Av一区二区三区| 中文无码字幕中文有码字幕| 中文无码不卡的岛国片| 麻豆AV无码精品一区二区| 免费A级毛片无码A∨中文字幕下载| 久久久久无码国产精品一区| 人妻少妇偷人精品无码| 精品无码一区二区三区爱欲九九 | 四虎成人精品国产永久免费无码| 日韩乱码人妻无码中文视频| 亚洲免费无码在线|