成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 函數編程的基礎知識介紹

開發 后端
掌握自定義函數的基本語法規范和調用方法及掌握函數的各種參數的使用及調用規則。

函數基礎知識

掌握自定義函數的基本語法規范和調用方法及掌握函數的各種參數的使用及調用規則。

1、Python函數

  • 函數( Function )是組織好的,可重復使用的,用來實現單一, 或相關聯功能的代碼段。
  • 函數能提高應用的模塊性 ,和代碼的重復利用率。
  • 我們已經接觸過Python提供的許多內建函數 ,比如print()。
  • 但你也可以自己創建函數,這被叫做用戶自定義函數。

2、自定義一個函數基本規則

你可以定義一個由自己想要功能的函數,以下是簡單的規則:

  1. 函數代碼塊以 def關鍵詞開頭,后接函數標識符名稱和圓括號( )。
  2. 任何傳入參數和自變量必須放在圓括號 中間。圓括號之間可以用于定義參數。
  3. 函數的第一 -行語句可以選擇性地使用文檔字符串一 -用于存放函數說明。
  4. 函數內容以冒 號起始,并且縮進。
  5. returm [表達式]結束函數,選擇性地返回一個值給調用方。
  6. 不帶表達式的return相當于返回 None。

3、自定義一個函數語法

定義函數的語法:

def 函數標識名稱(參數列表):
“函數_文檔字符串,對函數進行說明"
函數體
return [表達式]

默認情況下,參數值和參數名稱是按函數聲明中定義的順序匹配起來的。

4、函數的調用

定義一個函數只給了函數-一個名稱,指定了函數里包含的參數,和代碼塊結構。

這個函數的基本結構完成以后,你可以通過另-個函數調用執行,也可以直接從Python提示符執行。

如下實例調用了printme ( )函數:

調用后輸出的結果為:

4、return關鍵字

  • return語句[表達式]退出函數,選擇性地向調用方返回一一個表達式。
  • 不帶參數值的return語句返回None。
  • 之前的例子都沒有示范如何返回數值,下例告訴你怎么做:

5、參數的傳遞

在python中,類型屬于對象,變量是沒有類型的:

a=[1,2,3]
a="Runoob"

以上代碼中,[1,2,3] 是List類型,"Runoob” 是 String類型,而變量a是沒有類型,它僅僅是一個對象的引用(-一個指針) , 可以是List類型對象,也可以指向String類型對象。

Python函數的參數傳遞

  • 不可變類型 :在程序編程中的值傳遞,如整數、字符串、元組。如fun(a), 傳遞的只是a的值,沒有影響a對象本身。比如在fun( a)內部修改a的值,只是修改另一個復制的對象,不會影響a本身。我們經常稱之為值傳遞。
  • 可變類型:類似編程中的引用傳遞(址傳遞),如列表,字典。如fun(la),則是將la真正的傳過去,修改后fun外部的la也會受影響。

python中-切都是對象,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變對象和傳可變對象。

6、參數

以下是調用函數時可使用的正式參數類型:

  • 必備參數。
  • 關鍵字參數。
  • 默認參數。
  • 不定長參數。

必備參數

必備參數須以正確的順序傳入函數。調用時的數量必須和聲明時的一樣。

示例:

ch06-demo01-args-necessary.py

調用greeting()函數,你必須傳入一個參數,不然會出現語法錯誤:

關鍵字參數

關鍵字參數和函數調用關系緊密,函數調用使用關鍵字參數來確定傳入的參數值。

使用關鍵字參 數允許函數調用時參數的順序與聲明時不一致,因為Python解釋器能夠用參數名匹配參數值。

示例:

ch06-demo02-keyword.py

以下實例在函數printinfo()調用時使用參數名:

缺省參數

調用函數時,缺省參數的值如果沒有傳入,則被認為是默認值。

示例:

ch06-demo03-args-default.py

打印默認的age,如果age沒有被傳入:

注意:缺省值必須放在最后一個參數。

不定長參數*args

可能需要一個函數能處理比當初聲明時更多的參數。這些參數叫做不定長參數。

適用于當參數個數不確定或根據調用情況其參數個數會動態變化的情況。

基本語法如下:

def函數名稱(formal args, *args ):
“函數_文檔字符串"
函數體
retum [表達式]

加了星號(* )的變量名會存放所有未命名的變量參數。選擇不多傳參數也可,可變長參數的類型為元組。

補充: **kw

**兩個型號代表接受的是一個可變長度的 字典類型的參數。

因此,改參數必須以k-v值結構出現。

def函數名稱(formal _args, **kw ):
“函數_文檔字符串”
函數體
retum [表達式

加了星號(** )的變量名會存放所有未命名的變量參數。選擇不多傳參數也可,可變長參數的類型為字典。

總結: *argv和**kw的區別

兩個參數必須為函數定義中參數列表中的排名最后的參數。

*argv代表該參數位置可以放任意個數的數據,最終都會轉換成元組數據類型在函數體內處理。

**kw代表該參數位置可以放k=v格式的數據,最終都會轉換成字典類型數據安函數體內處理。

責任編輯:姜華 來源: 今日頭條
相關推薦

2011-07-21 17:33:27

JAVA

2011-07-21 17:18:52

java

2011-07-22 10:02:07

java

2011-07-22 10:38:04

java

2011-07-21 17:45:02

java

2011-07-22 09:43:37

java

2011-11-04 17:26:12

2021-03-13 10:14:59

Python定義函數Python基礎

2009-08-11 15:17:12

C#基礎知識

2009-08-13 15:40:28

C#基礎知識

2009-11-05 09:51:14

WCF基礎

2015-07-17 16:49:13

OpenStack開源云平臺云計算

2011-07-14 23:34:56

SEO

2011-02-25 09:37:35

2010-04-22 11:32:57

Lvs負載均衡

2010-03-31 13:08:20

Oracle 基礎知識

2009-11-23 19:24:01

PHP面向對象編程

2011-03-16 11:06:55

Iptables防火墻

2011-06-24 14:34:56

SEO

2009-12-21 13:03:06

向量路由協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品乱码8久久久久久日本 | 久久精品福利 | 宅男伊人 | 日本久久精品视频 | 国产成人高清视频 | 国产一区h | 亚洲国产一区二区三区在线观看 | 久久国产综合 | 亚洲第一色站 | 日本一二三区高清 | 欧美久久不卡 | 亚洲一区二区在线播放 | 久久99视频精品 | 欧美性大战xxxxx久久久 | 97国产精品 | 国产精品久久久av | av成人在线观看 | 国产日韩欧美激情 | 欧美在线视频免费 | 日本精品一区二区三区在线观看视频 | 午夜国产羞羞视频免费网站 | 精品国产欧美一区二区三区成人 | 青青草亚洲 | 久久久久久黄 | 国产精品区二区三区日本 | 91久久久久久久久久久久久 | 日本久久精品视频 | 日韩av一区二区在线观看 | 精品免费视频 | 免费永久av | 亚洲精品天堂 | 日韩免费av网站 | 日本黄色短片 | 久久久久网站 | 51ⅴ精品国产91久久久久久 | 亚洲国产一区二区视频 | av天天操 | 精品一区二区三区av | 99视频在线免费观看 | 欧美一区二区三区视频在线 | 国产高清视频在线观看 |