国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 基礎起步 (十) 什么叫函數?

姘擱『 / 3050人閱讀

摘要:默認參數我們仍以具體的例子來說明如何定義函數的默認參數。從上面的例子可以看出,默認參數可以簡化函數的調用。

Python 函數

大家好,這一期讓我們來看看Python中比較核心的知識點:函數(也叫方法),那么到底什么是一個函數呢?先讓我引入一個官方一點的定義:

函數是對程序邏輯進行結構化或者過程化的一種編程方法。是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。函數能提高應用的模塊性,和代碼的重復利用率。

好啦,我知道這說的不是人話,其實簡單理解就是: 如果我們有一些代碼可以執行一些功能,比如有100行,我們可以把這些代碼打包叫做A,那么A就是一個函數,下次我們想要執行一樣的功能,不用重新寫100行,直接調用A就可以了。在接下來的介紹中讓我們看看實際例子

內置函數,調用函數

首先,Python內置了很多有用的函數,我們可以直接調用。不需要創建。而要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs

abs(-500)
Out:500

很簡單吧,只要直接調用函數名和函數需要的參數即可,再看一些其他的內置函數的例子:

type("Hello")                # 
max(10,20,30,45)             # 45
len("Hello world")           # 11

大家看到常用的type函數了吧~,還有很多都是非常好用的內置函數,大家可以自己谷歌百度一下,在實際編程中非常有效,不過要注意一點,如果參數傳遞錯誤,那就會出錯:

abs(1, 5)
TypeError: abs() takes exactly one argument (2 given)

這里很好理解,abs這個內置方法只接受1個參數,這里傳遞了兩個所以就報錯了。

如何定義一個函數

我們可以自己創建函數,創建一個函數很簡單,利用關鍵字def就可以, 之后依次寫出函數名、括號、括號中的參數和冒號,最后在縮進塊中編寫函數體,函數的返回值用return語句返回。當然,如果不需要返回結果值,也可以不加return。我們以自定義一個求絕對值的my_abs函數為例:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
        

這里大家就可以發現,我們之前所學到的邏輯條件排上了用場,這里我們根據絕對值的求法寫出了自己的函數,如果是正數返回函數本身,如果是負數,返回它的相反數。讓我們測試一下

my_abs(-200)   
Out:200

這里需要注意幾點:函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。因此,函數內部通過條件判斷和循環可以實現非常復雜的邏輯。

如果沒有return語句,函數執行完畢后也會返回結果,只是結果為None。

return None可以簡寫為return`。

函數的參數

定義函數的時候,我們把參數的名字和位置確定下來,函數的接口定義就完成了。對于函數的調用者來說,只需要知道如何傳遞正確的參數,以及函數將返回什么樣的值就夠了,函數內部的復雜邏輯被封裝起來,調用者無需了解。

Python的函數定義非常簡單,但靈活度卻非常大。除了正常定義的必選參數外,還可以使用默認參數、可變參數和關鍵字參數,使得函數定義出來的接口,不但能處理復雜的參數,還可以簡化調用者的代碼。

默認參數

我們仍以具體的例子來說明如何定義函數的默認參數。我們現在想寫一個求平方的函數:

def power(x):
    return x * x

測試一下是否正確

power(5)
Out:25

現在,如果我們要計算 x3x3 怎么辦?可以再定義一個power3函數,但是如果要計算 x4x4 、 x5x5 ……怎么辦?我們不可能定義無限多個函數。你也許想到了,可以把 power(x) 修改為 power(x, n),用來計算 xn:

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

對于這個修改后的 power 函數,可以計算任意 n 次方:

power(2, 3)
Out:8

但是,舊的調用代碼失敗了,原因是我們增加了一個參數,導致舊的代碼無法正常調用:

power(9)
TypeError: power() missing 1 required positional argument: "n"

這個時候,默認參數就排上用場了。由于我們經常計算 x2x2 ,所以,完全可以把第二個參數 n 的默認值設定為 2:

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

這樣,當我們調用 power(5) 時,相當于調用 power(5, 2):

power(5)
Out:25

而對于 n > 2 的其他情況,就必須明確地傳入 n,比如 power(5, 3)。從上面的例子可以看出,默認參數可以簡化函數的調用。設置默認參數時,有幾點要注意:

必選參數在前,默認參數在后,否則Python的解釋器會報錯(思考一下為什么默認參數不能放在必選參數前面)

如何設置默認參數

好啦,今天先為大家講到這里,有很多復雜的方法還要大家自己去探索,

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43118.html

相關文章

  • Python 基礎起步 (四) 變量是什么東西 ?

    摘要:變量是什么大家好,我回來啦,今天想為大家介紹里面一個神奇的東西變量。 變量是什么 Hello, 大家好,我回來啦,今天想為大家介紹Python里面一個神奇的東西:變量。其實這個東西真正要非常詳細的解釋的話要將好多,因為它至少包含以下幾種類型: 全局變量 (在模塊內、在所有函數外面、在class外面是全局變量) 局部變量 (在函數內、在class的方法內,未加self修飾就是局部變...

    tracy 評論0 收藏0
  • Python 基礎起步 (五) 一定要知道的數據類型:初識List

    摘要:好啦,那如果我現在想要改變中一個值也很簡單,因為我們了解了索引,便能很方便的定位元素啦,如果我要修改和的值為如果是刪除的話可以用的自帶函數叫或者注意兩點如果正確刪除,不會有任何反饋。沒有消息就是好消息如果所刪除的內容不在中,就報錯。 什么是List Hello,小白同胞們,我回來啦,前面的學習中,我們已經知道了兩種python的數據類型:int和str,今天將要給大家接著介紹Pytho...

    zhichangterry 評論0 收藏0
  • Python 基礎起步 (三) 基礎的數據類型,簡單運算

    摘要:好啦,現在讓我們進入主題,今天我主要想給大家說一下里的數據類型,用小白的話說就是能顯示或者使用什么類型的信息,是數字,字符串,分數小數等等。 基礎數據類型 大家好,經過上篇文章的講解,相信同為小白的你已經熟悉了Jupyter Notebook 的基礎操作,在此為大家總結一些常用的快捷鍵,能夠方便大家使用: 在選中模塊下方添加一個新的模塊: b 在選中模塊上方添加一個新的模塊: a 刪...

    AprilJ 評論0 收藏0
  • Python 基礎起步 (八) 字典實用技巧大全,申精干貨,必看!

    摘要:,同為小白的朋友們大家好,這期主要為大家帶來有關字典的一些實用技巧。上篇筆記通過感人肺腑的老白讓大家認識到了字典這么有用的數據類型,這一期讓我們看看如何能更好的操作字典。 Hello ,同為小白的朋友們大家好,這期主要為大家帶來有關字典的一些實用技巧。上篇筆記通過感人肺腑的老白讓大家認識到了字典這么有用的數據類型,這一期讓我們看看如何能更好的操作字典。 基礎篇 下面我給大家來一個簡單的...

    flybywind 評論0 收藏0
  • 如何系統地自學 Python?

    摘要:這里推薦一本書源碼剖析源碼剖析豆瓣這本書把源碼中最核心的部分,給出了詳細的闡釋,不過閱讀此書需要對語言內存模型和指針有著很好的理解。   是否非常想學好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔心學習成本太高,心里默默敲著退堂鼓?   幸運的是,Python 是一門初學者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。   Python 的設計哲學之一就是...

    zgbgx 評論0 收藏0

發表評論

0條評論

姘擱『

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<