自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python 函數(shù)編程的基礎知識介紹

開發(fā) 后端
掌握自定義函數(shù)的基本語法規(guī)范和調(diào)用方法及掌握函數(shù)的各種參數(shù)的使用及調(diào)用規(guī)則。

函數(shù)基礎知識

掌握自定義函數(shù)的基本語法規(guī)范和調(diào)用方法及掌握函數(shù)的各種參數(shù)的使用及調(diào)用規(guī)則。

1、Python函數(shù)

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

2、自定義一個函數(shù)基本規(guī)則

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

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

3、自定義一個函數(shù)語法

定義函數(shù)的語法:

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

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

4、函數(shù)的調(diào)用

定義一個函數(shù)只給了函數(shù)-一個名稱,指定了函數(shù)里包含的參數(shù),和代碼塊結(jié)構(gòu)。

這個函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過另-個函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。

如下實例調(diào)用了printme ( )函數(shù):

調(diào)用后輸出的結(jié)果為:

4、return關鍵字

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

5、參數(shù)的傳遞

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

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

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

Python函數(shù)的參數(shù)傳遞

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

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

6、參數(shù)

以下是調(diào)用函數(shù)時可使用的正式參數(shù)類型:

  • 必備參數(shù)。
  • 關鍵字參數(shù)。
  • 默認參數(shù)。
  • 不定長參數(shù)。

必備參數(shù)

必備參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時的數(shù)量必須和聲明時的一樣。

示例:

ch06-demo01-args-necessary.py

調(diào)用greeting()函數(shù),你必須傳入一個參數(shù),不然會出現(xiàn)語法錯誤:

關鍵字參數(shù)

關鍵字參數(shù)和函數(shù)調(diào)用關系緊密,函數(shù)調(diào)用使用關鍵字參數(shù)來確定傳入的參數(shù)值。

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

示例:

ch06-demo02-keyword.py

以下實例在函數(shù)printinfo()調(diào)用時使用參數(shù)名:

缺省參數(shù)

調(diào)用函數(shù)時,缺省參數(shù)的值如果沒有傳入,則被認為是默認值。

示例:

ch06-demo03-args-default.py

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

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

不定長參數(shù)*args

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

適用于當參數(shù)個數(shù)不確定或根據(jù)調(diào)用情況其參數(shù)個數(shù)會動態(tài)變化的情況。

基本語法如下:

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

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

補充: **kw

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

因此,改參數(shù)必須以k-v值結(jié)構(gòu)出現(xiàn)。

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

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

總結(jié): *argv和**kw的區(qū)別

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

*argv代表該參數(shù)位置可以放任意個數(shù)的數(shù)據(jù),最終都會轉(zhuǎn)換成元組數(shù)據(jù)類型在函數(shù)體內(nèi)處理。

**kw代表該參數(shù)位置可以放k=v格式的數(shù)據(jù),最終都會轉(zhuǎn)換成字典類型數(shù)據(jù)安函數(shù)體內(nèi)處理。

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

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:33:27

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定義函數(shù)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開源云平臺云計算

2010-03-31 13:08:20

Oracle 基礎知識

2011-07-14 23:34:56

SEO

2011-02-25 09:37:35

2010-04-22 11:32:57

Lvs負載均衡

2009-11-23 19:24:01

PHP面向?qū)ο缶幊?/a>

2011-06-24 14:34:56

SEO

2009-12-21 13:03:06

向量路由協(xié)議

2011-03-16 11:06:55

Iptables防火墻
點贊
收藏

51CTO技術(shù)棧公眾號