關於Python基礎函數的介紹

高洛峰
發布: 2017-03-17 16:32:39
原創
1126 人瀏覽過

函數最重要的目的是方便我們重複使用相同的一段程式。

將一些運算隸屬於一個函數,以後你想實現相同的操作的時候,只用呼叫函數名稱就可以,而不需要重複敲所有的語句。

函數的定義

首先,我們要定義一個函數, 來說明這個函數的函數。

def square_sum(a,b):
    c = a**2 + b**2
    return c
登入後複製

這個函數的功能是求兩個數的平方和。

首先,def,這個關鍵字通知python:我在定義一個函數。 square_sum是函數名。

括號中的a, b是函數的參數,是對函數的輸入。參數可以有多個,也可以完全沒有(但括號要保留)。

我們已經在循環和選擇中見過冒號和縮進來表示的隸屬關係。

c = a**2 + b**2        # 这一句是函数内部进行的运算
return c               # 返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用return。return可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)。
return a,b,c          # 相当于 return (a,b,c)
登入後複製

在Python中,當程式執行到return的時候,程式將停止執行函數內餘下的語句。 return並不是必須的,當沒有return, 或return後面沒有回傳值時,函數會自動傳回None。 None是Python中的一個特別的資料型別,用來表示什麼都沒有,相當於C中的NULL。 None多用於關鍵字參數傳遞的預設值。

函數呼叫和參數傳遞

定義過函數後,就可以在後面程式中使用此函數

##print square_sum(3,4 )

Python通過位置,知道3對應的是函數定義中的第一個參數a,4對應第二個參數b,然後把參數傳遞給函數square_sum。

(Python有豐富的參數傳遞方式,還有關鍵字傳遞、表傳遞、字典傳遞等,基礎教程將只涉及位置傳遞)

函數經過運算,返回值25,這個25被print印出來。

我們再看下面兩個例子

a = 1
def change_integer(a):
    a = a + 1
    return a
print change_integer(a)
print a
#===(Python中 "#" 后面跟的内容是注释,不执行 )
b = [1,2,3]
def change_list(b):
    b[0] = b[0] + 1
    return b
print change_list(b)
print b
登入後複製

第一個例子,我們將一個

整數變數傳遞給函數,函數對它進行操作,但原整數變數a不發生變化。

第二個例子,我們將一個表傳遞給函數,函數進行操作,原來的表b發生變化。

對於基本資料型別的變量,變數傳遞給函數後,函數會在記憶體中複製一個新的變量,從而不影響原來的變數。 (我們稱此為值傳遞)

但是對於表來說,表傳遞給函數的是一個指針,指針指向序列在內存中的位置,在函數中對錶的操作將在原始內存中進行,從而影響原有變數。 (我們稱此為指標傳遞)

總結

def function_name(a,b,c):
    statement
    return something  # return不是必须的
登入後複製
函數的目的: 提高程式的重複可用性。

return     None

透過位置,傳遞參數。

基本資料型別的參數:值傳遞

表格作為參數:指標傳遞


#

以上是關於Python基礎函數的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!