最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基礎教程之自定義函數介紹

 更新時間:2014年08月29日 10:17:51   作者:Vamei  
這篇文章主要介紹了python基礎教程之自定義函數介紹,本文講解了python中函數的定義方法、函數參數的定義方法,需要的朋友可以參考下

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

將一些操作隸屬于一個函數,以后你想實現相同的操作的時候,只用調用函數名就可以,而不需要重復敲所有的語句。

函數的定義

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

復制代碼 代碼如下:

def square_sum(a,b):
    c = a**2 + b**2
    return c

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

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

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

我們已經在循環(huán)和選擇中見過冒號和縮進來表示的隸屬關系。

復制代碼 代碼如下:

c = a**2 + b**2        # 這一句是函數內部進行的運算

return c               # 返回c的值,也就是輸出的功能。Python的函數允許不返回值,也就是不用return。

return可以返回多個值,以逗號分隔。相當于返回一個tuple(定值表)。

return a,b,c          # 相當于 return (a,b,c)

在Python中,當程序執(zhí)行到return的時候,程序將停止執(zhí)行函數內余下的語句。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中 "#" 后面跟的內容是注釋,不執(zhí)行 )

b = [1,2,3]

def change_list(b):
    b[0] = b[0] + 1
    return b

print change_list(b)
print b

第一個例子,我們將一個整數變量傳遞給函數,函數對它進行操作,但原整數變量a不發(fā)生變化。

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

對于基本數據類型的變量,變量傳遞給函數后,函數會在內存中復制一個新的變量,從而不影響原來的變量。(我們稱此為值傳遞)

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

總結

復制代碼 代碼如下:

def function_name(a,b,c):
    statement
    return something  # return不是必須的

函數的目的: 提高程序的重復可用性。
復制代碼 代碼如下:

return     None

通過位置,傳遞參數。

基本數據類型的參數:值傳遞

表作為參數:指針傳遞

練習:

寫一個判斷閏年的函數,參數為年、月、日。若是是閏年,返回True

相關文章

最新評論

京山县| 丰顺县| 贞丰县| 武夷山市| 库尔勒市| 梅河口市| 乐至县| 永昌县| 图木舒克市| 高要市| 宁远县| 武平县| 板桥市| 大荔县| 九寨沟县| 宜都市| 含山县| 鲁山县| 武隆县| 珠海市| 许昌县| 吉木乃县| 乐业县| 贞丰县| 恩平市| 建平县| 吐鲁番市| 丘北县| 临西县| 马关县| 嘉荫县| 平果县| 靖宇县| 阿坝县| 宁城县| 乐至县| 固阳县| 章丘市| 治多县| 巩义市| 乌鲁木齐市|