python認識函數公式的簡單介紹

python所有內置函數的定義詳解

1、定義函數

創新互聯的客戶來自各行各業,為了共同目標,我們在工作上密切配合,從創業型小企業到企事業單位,感謝他們對我們的要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業領域包括做網站、成都做網站、電商網站開發、微信營銷、系統平臺開發。

函數是可重用的程序。本書中已經使用了許多內建函數,如len()函數和range()函數,但是還沒自定義過函數。定義函數的語法格式如下:

def 函數名(參數):

函數體

定義函數的規則如下:

①關鍵字def用來定義一個函數,它是define的縮寫。

②函數名是函數的唯一標識,函數名的命名規則遵循標識符的命名規則。

③函數名后面一定要緊跟著一個括號,括號內的參數是可選的,括號后面要有冒號。

④函數體(statement)為一個或一組Python語句,注意要有縮進。

⑤函數體的第一行可以有文檔字符串,用于描述函數的功能,用三引號括起來。

按照定義規則,可以定義第一個函數了:

def?hello_world():

...?????print('Hello,world!')???#?注意函數體要有縮進

...

hello_world()

Hello,world!

這個函數不帶任何參數,它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調用函數,即讓Python執行函數的代碼。

2、全局變量和局部變量

全局變量是定義在所有函數外的變量。例如,定義一個全局變量a,分別在函數test1()和test2()使用變量a:

a?=?100???#?全局變量

def?test1():

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

test2()

100

定義了全局變量a之后,在函數test1()和test2()內都可以使用變量a,由此可知,全局變量的作用范圍是全局。

局部變量是在函數內定義的變量,除了用關鍵字global修飾的變量以外。例如,在函數test1()內定義一個局部變量a,分別在函數外和另一個函數test2()內使用變量a:

def?test1():

...?????a?=?100???#?局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

NameError:?name?'a'?is?not?defined

test2()

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

File?"stdin",?line?2,?in?test2

NameError:?name?'a'?is?not?defined

Python解釋器提示出錯了。由于局部變量a定義在函數test1()內,因此,在函數test1()內可以使用變量a,但是在函數外或者另一個函數test2()內使用變量a,都會報錯,由此可見,局部變量的作用范圍是定義它的函數內部。

一般情況下,在函數內聲明的變量都是局部變量,但是采用關鍵字global修飾的變量卻是全局變量:

def?test1():

...?????global?a???#?全局變量

...?????a?=?100

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

100

test2()

100

這個程序與上個程序相比,只是在函數test1()中多了一行代碼“global a”,程序便可以正確運行了。在函數test1()中,采用關鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數內使用,還可以在函數外或者其他函數內使用。

如果在某個函數內局部變量與全局變量同名,那么在該函數中局部變量會覆蓋全局變量:

a?=?100???#?全局變量

def?test1():

...?????a?=?200???#?同名局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

200

test2()

100

由于在函數test1()中定義了一個與全局變量同名的局部變量a,因此,在函數test1()中全局變量a的值被局部變量覆蓋了,但是在函數test2()中全局變量a的值沒有被覆蓋。

綜上所述,在Python中,全局變量保存的數據供整個腳本文件使用;而局部變量只用于臨時保存數據,變量僅供局部代碼塊使用。

「Python3基礎」函數

表示一個功能,函數定義著是提供功能的人,函數調用者是使用功能的人。

print:打印功能,將括號中的內容,顯示到終端。

將括號中的內容顯示在控制臺.

input:輸入功能,從終端中獲取輸入的信息,存到程序變量當中

作用:將用戶輸入的內容賦值給變量

第一個字符必須是字母表中字母或下劃線 _ 。

標識符的其他的部分由字母、數字和下劃線組成。

標識符對大小寫敏感。

python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {} 。

縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下:

python中函數包括

1. print()函數:打印字符串

2. raw_input()函數:從用戶鍵盤捕獲字符

3. len()函數:計算字符長度

4. format(12.3654,'6.2f'/'0.3%')函數:實現格式化輸出

5. type()函數:查詢對象的類型

6. int()函數、float()函數、str()函數等:類型的轉化函數

7. id()函數:獲取對象的內存地址

8. help()函數:Python的幫助函數

9. s.islower()函數:判斷字符小寫

10. s.sppace()函數:判斷是否為空格

11. str.replace()函數:替換字符

12. import()函數:引進庫

13. math.sin()函數:sin()函數

14. math.pow()函數:計算次方函數

15. 3**4: 3的4次方

16. pow(3,4)函數:3的4次方

17. os.getcwd()函數:獲取當前工作目錄

18. listdir()函數:顯示當前目錄下的文件

19. socket.gethostbyname()函數:獲得某主機的IP地址

20. urllib.urlopen(url).read():打開網絡內容并存儲

21. open().write()函數:寫入文件

22. webbrowser.open_new_tab()函數:新建標簽并使用瀏覽器打開指定的網頁

23. def function_name(parameters):自定義函數

24. time.sleep()函數:停止一段時間

25. random.randint()函數:產生隨機數

python常用列表函數

1

len(list)

列表元素個數

2

max(list)

返回列表元素最大值

3

min(list)

返回列表元素最小值

4

list(seq)

將元組轉換為列表

序號

方法

1

list.append(obj)

在列表末尾添加新的對象

2

list.count(obj)

統計某個元素在列表中出現的次數

3

list.extend(seq)

在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)

4

list.index(obj)

從列表中找出某個值第一個匹配項的索引位置

5

list.insert(index, obj)

將對象插入列表

6

list.pop([index=-1])

移除列表中的一個元素(默認最后一個元素),并且返回該元素的值

7

list.remove(obj)

移除列表中某個值的第一個匹配項

8

list.reverse()

反向列表中元素

9

list.sort( key=None, reverse=False)

對原列表進行排序

10

list.clear()

清空列表

11

list.copy()

復制列表

Python基礎之常見內建函數

map() 函數接受兩個參數,一個是函數,一個是可迭代對象(Iterable), map 將傳入的函數依次作用到可迭代對象的每一個元素,并把結果作為迭代器(Iterator)返回。

舉例說明,有一個函數 f(x)=x^2 ,要把這個函數作用到一個list [1,2,3,4,5,6,7,8,9] 上:

運用簡單的循環可以實現:

運用高階函數 map() :

結果 r 是一個迭代器,迭代器是惰性序列,通過 list() 函數讓它把整個序列都計算出來并返回一個 list 。

如果要把這個list所有數字轉為字符串利用 map() 就簡單了:

小練習:利用 map() 函數,把用戶輸入的不規范的英文名字變為首字母大寫其他小寫的規范名字。輸入 ['adam', 'LISA', 'barT'] ,輸出 ['Adam', 'Lisa', 'Bart']

reduce() 函數也是接受兩個參數,一個是函數,一個是可迭代對象, reduce 將傳入的函數作用到可迭代對象的每個元素的結果做累計計算。然后將最終結果返回。

效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

舉例說明,將序列 [1,2,3,4,5] 變換成整數 12345 :

小練習:編寫一個 prod() 函數,可以接受一個 list 并利用 reduce 求積:

map() 和 reduce() 綜合練習:編寫 str2float 函數,把字符串 '123.456' 轉換成浮點型 123.456

filter() 函數用于過濾序列, filter() 也接受一個函數和一個序列, filter() 把傳入的函數依次作用于每個元素,然后根據返回值是 True 還是 False 決定保留還是丟棄該元素。

舉例說明,刪除list中的偶數:

小練習:用 filter() 求素數

定義一個篩選函數:

定義一個生成器不斷返回下一個素數:

打印100以內素數:

python內置的 sorted() 函數可以對list進行排序:

sorted() 函數也是一個高階函數,還可以接受一個 key 函數來實現自定義排序:

key 指定的函數將作用于list的每一個元素上,并根據 key 函數返回的結果進行排序.

默認情況下,對字符串排序,是按照ASCII的大小比較的,由于'Z' 'a',結果,大寫字母Z會排在小寫字母a的前面。如果想忽略大小寫可都轉換成小寫來比較:

要進行反向排序,不必改動key函數,可以傳入第三個參數 reverse=True :

小練習:假設我們用一組tuple表示學生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()對上述列表分別按c成績從高到低排序:

運用匿名函數更簡潔:

python 定義函數

params

就是(5, 5)

(5,) * 2 ,就是2個5的元組,乘號可以理解成相加。"*" * 30就是30個“*"的字符串

*params作為參數,前面的*號就是把params元組分解成元素的意思,這樣就分開成為2個參數了。實際上傳遞給了x,y

于是就執行了power(5,5)

分享名稱:python認識函數公式的簡單介紹
分享地址:http://m.kartarina.com/article40/hsdiho.html

成都網站建設公司_創新互聯,為您提供電子商務網站導航品牌網站制作商城網站軟件開發ChatGPT

廣告

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

網站托管運營
主站蜘蛛池模板: 亚洲av无码专区在线观看亚| 亚洲?V无码成人精品区日韩 | 亚洲人成人无码网www国产| 黑人巨大无码中文字幕无码| 日韩乱码人妻无码中文字幕视频| 成年无码av片在线| 久久久无码中文字幕久...| 一本色道无码道DVD在线观看| 无码精品久久一区二区三区| 未满十八18禁止免费无码网站| 国产综合无码一区二区色蜜蜜| 人妻丝袜中文无码av影音先锋专区 | 无码国内精品久久人妻| 西西大胆无码视频免费 | 国产精品免费无遮挡无码永久视频| 亚洲最大无码中文字幕| 国产丝袜无码一区二区三区视频| 亚洲AV无码一区二区三区久久精品| 中文字幕人妻无码专区| 精品无码成人网站久久久久久| 在线观看无码不卡AV| 亚洲中文字幕无码不卡电影| 免费人妻av无码专区| 亚洲av永久无码精品网址| 精品无码一区在线观看| 国产午夜精品无码| 东京无码熟妇人妻AV在线网址| 人妻av中文字幕无码专区| 亚洲另类无码专区首页| 2021无码最新国产在线观看| 欧洲精品久久久av无码电影| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产精品爆乳奶水无码视频| 亚洲av无码一区二区三区人妖| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 无码免费午夜福利片在线| 最新亚洲春色Av无码专区| 98久久人妻无码精品系列蜜桃| 日韩AV无码中文无码不卡电影| 亚洲av无码无在线观看红杏| 免费A级毛片无码无遮挡内射|