Python(五) Python 中的函數

Python 中的函數

Python中的函數和其他程序設計語言一樣,函數的主要作用是代碼重用,在邏輯上分割代碼的大小。

定義函數

通過def 關鍵字定義。def關鍵字后面跟一個函數的標識名稱,后面跟一對圓括號。圓括號中間是參數變量名,該行用冒號結尾。接下來是一塊語句,他們是函數體。

函數定義的例子:

#!/usr/bin/env python
# *coding=utf-8
""" set encoding """
def sayhello():
    """example of python function"""
    print "Hello"

sayhello()

函數形參

函數的形參具有局部性,在函數中使用參數應該注意這種局部性,并且加以區分,在這里我們可以看一個例子。

#!/usr/bin/env python
# *coding=utf-8
""" set encoding """

def func(x):
    print "x is %d" %(x)
    x = 2
    print "change local x to %d" %(x)

x = 50
func(x)
print "x is still %d" %(x)

在函數中,我們第一次使用x 的值的時候,Python 使用函數聲明的形參的值。
接下來,我們將2賦值給x。這個時候x是函數的局部變量,所以我們在函數內部改變x 的時候,在主塊中的x不受影響。

Golbal 語句

如果需要為在函數外面定義的變量賦值,那么需要在函數內告訴python,這個變量不是局部的,是全局的。使用golbal語句,可以明確的讓讀者知道,這個變量是在函數外面定義的。

def func():
    global x
    print "x is", x
    x = 2
    print "changed local x to ", x

x = 50
func()
print "Value of x is", x

運行結果:

PS G:\2> & python g:/2/exp.py
x is 50
changed local x to  2
Value of x is 2
PS G:\2>

默認參數值

對于一些函數, 你希望它的一些參數是可選的,用戶可以根據需要輸入參數的值。如果用戶不想要為這些參數提供數值的話,這些參數就可以使用默認值。可以在函數定義的形參名之后加上賦值運算符(=)和默認值,從而給參數指定默認參數值。

#!/usr/bin/env python
# *coding=utf-8
""" set encoding """

def sayhello(name, time = 5):
    """ defaulf is 5"""
    print name
    print "hello"*time

sayhello("kk")
sayhello("kk",1)
PS G:\2> & python g:/2/exp.py
kk
hellohellohellohellohello
kk
hello
PS G:\2>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容