python---函式定義
Python新手入門,在python中函式定義主要有四種方式:
① F(arg1,arg2,...),最常見的定義方式,一個函式可以定義任何個引數,每個引數間用逗號分割,用這種引數在呼叫的時候必須在函式名後面的小括號中提供個數相等的值(實參),並且順序必須相同,形參與實參一一對應
1
2
|
def
a(x,y): print
x,y |
呼叫a函式,a(1,2)則x=1,y=2,如果a(1)或者a(1,2,3)則會出錯
② F(arg1,arg2=value2,...agrN=valueN),則將為函式提供預設值。
1
2
|
def
a(x,y = 3 ): print
x,y |
呼叫該函式,a(1,2)則x=1,y=2,如果a(1)不會導致錯誤,此時x=1,y=3,y值將使用預設值,a(y=4,x=2)同理
可變引數:
③ F(*arg1),以一個*加形參的方式來表示函式的實參個數不確定,引數個數>=0,採用這樣的方式定義函式,在函式內部將以實參名的方式構建一個元組(tuple)
1
2
3
4
5
6
7
8
9
10
11
12
|
def
a( * x): # 定義一個名為x的元組 def
a( * t): print
x >>>a( 1 )
( 1 ,)
>>>a() None >>>a( 1 , 2 , 3 )
( 1 , 2 , 3 ) |
遍歷該元組(計算總和)的一種方式,此時r定義為一元組:
1
2
3
4
5
|
def
y( * r): x
= 0 for
t in
r: x
+ =
t print
x |
④ F(**arg)形參名前加2個**表示在函式內部將被存放在以形參名為識別符號的dictionary,這時呼叫將使用arg1=value1,arg2=value2...
1
2
3
4
5
6
7
8
9
|
def
a( * * b):
print
b >>>a() None >>>a(x = 1 ,y = 2 )
{ 'y' : 2 , 'x' : 1 } #注意遍歷返回的順序與形參位置順序相反 >>>a( 1 , 2 )
#error |
可通過以下方式來獲取預期鍵值對,如果形參是未定義'y'的鍵,將返回None
1
2
3
4
5
6
7
8
9
|
def
a( * * x):
print
x.get( 'y' ) >>>a(x = 1 ,y = 2 )
2 >>>a(x = 1 )
None >>>a(x = 1 ,b = 2 ) None |
Python引數呼叫過程按照以上四種方法優先順序依次降低。
①方式解析,然後是②中的arg=value方式,再分別按照③>④優先順序傳參
這是自己第一份通過Blog整理的學習筆記,希望對自己,對瀏覽至此的各位朋友有所幫助,以上函式命名不符合規範,僅用於簡單標識說明,使用python 2.6.2
希望本文所述對大家的Python程式設計有所幫助。
轉載:http://www.jb51.net/article/64345.htm
相關文章
- python---之sorted函式Python函式
- shell 函式定義函式
- 定義函式物件 (轉)函式物件
- 02_函式定義及使用函式函式
- 如何在函式內部定義函式?函式
- python---函式引數、變數Python函式變數
- 兄弟連go教程(11)函式 - 函式定義Go函式
- 在jQuery定義自己函式jQuery函式
- python如何定義函式Python函式
- mysql函式定義語法MySql函式
- qt之函式重定義QT函式
- ts函式約束定義函式
- 第 8 節:函式-函式定義和引數函式
- 什麼是Python函式?如何定義函式?Python函式
- 函式引數 引數定義函式型別函式型別
- 函式定義、函式的引數、函式的預設引數函式
- makefile--函式定義與呼叫函式
- sql server檢視函式定義SQLServer函式
- oracle 過程函式定義字典Oracle函式
- Python巢狀定義函式增強reduce()函式功能Python巢狀函式
- Shell中函式的定義和使用函式
- Python如何定義一個函式Python函式
- 方法(函式)的定義與引數函式
- c語言函式指標的定義C語言函式指標
- JS函式的定義與呼叫方法JS函式
- TS定義陣列 ts宣告函式陣列函式
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- C++入門教程(12):定義函式C++函式
- Python騷操作:動態定義函式Python函式
- TypeScript 定義函式的幾種寫法TypeScript函式
- 函式基本定義和使用‘未完待續函式
- 1 函式極限的嚴格定義函式
- 通過JavaScript定義函式的注意點JavaScript函式
- vue 在methods中定義的函式 not definedVue函式
- [譯]Kotlin中是應該定義函式還是定義屬性?Kotlin函式
- 建構函式定義的隱式型別轉換函式型別
- 關於變數的宣告和定義、內部函式和外部函式變數函式
- PHP 到底該怎麼定義全域性函式?PHP函式