中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的函數使用是怎么樣的

發布時間:2021-12-27 15:27:11 來源:億速云 閱讀:119 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關Python的函數使用是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1 跳出循環-break

python提供了一種方便快捷的跳出循環的方法-break

示例如下,計算未知數字個數的總和:

if __name__ == "__main__":
    sum = 0
    while True:
        num = str(input('輸入的數字 (或者 "完成"): '))
        if num == '完成':
            break  #跳出循環
        sum  = num
        sum = sum + num
    print('計算總和為:' + str(sum))

這段代碼中,while的循環條件為True,這也就表示這段代碼將會永遠循環下去,直到 break 被執行時才會結束,也就是 num 的值為"完成"時解說。對比之前單單使用while循環,少了重復的 input 語句,但如果使用許多 break 也會使得代碼難以理解,所以在使用時需要視情況而定。該段代碼執行結果如下:依照開發經驗來看,除非 break 的使用使代碼更加簡潔清晰,一般不會使用該語句。當然,跳出循環的方法還有類似自定義異常、封裝循環函數(多使用return)等方法,但對這些的使用一般建立在使用多了之后,在此不做過多的闡述,后面會隨著對python的深入使用進行舉例。

Python的函數使用是怎么樣的

另外,continue break 是相關的,當在循環體中使用continue時,就會跳轉到循環條件中,進入下一次循環。

if __name__ == "__main__":
    for i in range(3):
        for j in range(3):
            for k in range(3):
                if i == j == k == 2:
                    break
                else:
                    print(str(i) + " " + str(j) + " " + str(k))
            else:
                continue
            break
        else:
            continue
        break

Python的函數使用是怎么樣的

這段代碼可以簡單的理解為排列組合除了i=j=k=2之外的所有情況,但也不會輸入任意i=j=k=3的組合,這是因為代碼邏輯中包含continuebreak的,這么看的話是不是有些不太好理解,所以在開發中一般不要這么使用。

2 python函數

函數,在每一種開發語言的使用中都是十分重要的。它是代碼塊,可以輸入輸出,實現需要的功能調用,可以大量進行復用。我們正在使用的python已經擁有了龐大數量的功能函數,這方便了我們的學習、開發、數據分析等使用。在Python的函數中,我們將其分為內置函數、自定義函數、main函數三個模塊,當然,使用的過程中會涉及到變量以及參數,這些都會舉例進行說明。

2.1 內置函數

在之前的闡述中,我們一直使用的就是python提供的強大的內置函數(Python強大的語法支持)作為示例。

本次以pow()函數為例,計算3 的3次方:

>>> pow(3,3)
27

內置函數pow()函數中,pow為函數名,兩個3是傳遞給函數的參數,結果27為返回值。

如下圖:

Python的函數使用是怎么樣的

上圖概述了內置函數的調用,當我們在使用python調用函數時,會將函數調用替換成為返回值。在基本的函數運算中,我們會注意到pow(3,3)的返回值與3**3的返回值是一樣的,也就是二者可以說是等價的關系。細節的朋友們會發現,在python中,pow(0,0) 的值為1,同樣,0**0=1。當然,這在實際開發中幾乎不會用到,只是再次強調python函數的全面和強大!

在實際使用中,我們會發現并不是所有函數都有返回值,有些情況是沒有返回值的,下面我們舉一個簡單的例子,如下:在a有賦值的時候返回值是正常的,但是在未給a賦值時,其返回值是一個None,既不是字符串,也不是數字,意義就是告訴你這段代碼沒有任何返回值,需要自查BUG。(這里比較隨意,在linux環境中進行的示例)

Python的函數使用是怎么樣的

在使用函數時,注意不要讓自己的函數與內置函數相同,避免無意間讓內置函數指向其它函數或者函數值,即便你使用了,python并不會提示你這個錯誤。

Python的函數使用是怎么樣的

這里我們讓pow指向了數字520,后面我們再次使用使用pow()時會出現上圖所顯示的錯誤。所以為了避免這種情況,需避開名字相同的命名方式哦,但遇到了的話需要重新進入python環境后,修改函數名,再次執行

2.2 自定義函數

自定義函數功能是程序員在使用中經常會用到的,因為通常會根據具體需求實現某個邏輯的功能。

舉一個簡單的例子,實現一個計算面積的函數:

import  math
 
def round_area(x):
    return math.pi * x ** 2
 
if __name__ == "__main__":
    x = int(input())
    area = round_area(x)
    print("半徑為" + str(x) +"cm的圓的面積為:"+ str(area))

Python的函數使用是怎么樣的

對于自定義函數的使用,一般將這個功能函數保存在Python文件中,例如我們保存為practice2.py 。在使用時只需調用round_area函數名,并且傳入參數x(對于自定義函數中的參數可有可無,根據自己的需求使用)。可以向使用其他內置函數一樣調用round_area(),差別就是你對于自定義的函數擁有絕對的控制權(任意修改)。

由上面的例子可以看出,自定義函數包含幾個規則:

  • 1.函數以def(函數頭)關鍵詞開頭,后接函數標識符名稱和圓括號();

  • 2.任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數;

  • 3.函數內容以冒號起始,并且縮進;

  • 4.return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None;

函數頭后面是可選的文檔字符串。文檔字符串簡要地描繪了函數的功能,可能包含示例和其他有益的信息。雖然文檔字符串是可選的,但需要使用合理的命名: 當你編寫大量函數時,很容易忘記它們的功能和工作原理,而寫得好的文檔字符串可很好的讓你使用。

文檔字符串后面是函數體,這是一個縮進的代碼塊,完成了需要的工作。在這個代碼塊中,可使用函數頭中的變量。

本實例中使用了return作為關鍵詞返回一個值,當其執行時,Python 跳出函數,并返回到調用這個函數的地方。 在自定義函數時, return 語句通常是函數中最后被執行的代碼,但并非是必須。

import  math
def round_area_1(x):
    print(math.pi * x ** 2)
 
if __name__ == "__main__":
    x = int(input())
    area = round_area_1(x)
    print("半徑為" + str(x) +"cm的圓的面積為:"+ str(area))

執行結果如下:可以看到有面積結果的輸出,但是最后卻輸出了一個None值。None 用于指出函數不返回值,這是一個自定義函數不使用return語句帶來的副作用,但Python為消除此副作用提供了強大的支持(此處不做闡述,先體驗return式自定義函數), 包含在函數中定義函數以及將函數作為值傳遞給其他函數。

Python的函數使用是怎么樣的

2.3 main函數

如果你對多種語言都有所了解,那么必定知道main函數是一種十分普遍且必須使用的,如Java、C、C++等。Python同樣如此,當我們在編寫python程序時,至少應該使用一個main函數。

例如在Python流程控制中的示例:

if __name__ == "__main__":
 
    while True:
        scan_user = input('please input your name: ')
        scan_pass = input('please input your passwd: ')
        if scan_pass == 'if/else':
            print('Logging on now!')
        else:
            print('your passwd is incorrect!!')
        print('我不在if/else語句中!')

可以改成如下。這樣所有代碼均位于函數頭main后面,且進行了縮進,在編輯器中運行已寫好的 *.py 文件是,必須輸入main() 進入代碼,開始執行。

其優點在于:可以傳參,更簡單的運行整個程序。

def main():
    scan_user = input('please input your name: ')
    scan_pass = input('please input your passwd: ')
    if scan_pass == 'if/else':
        print('Logging on now!')
    else:
        print('your passwd is incorrect!!')
    print('我不在if/else語句中!')

有函數的使用,就會涉及到變量和參數以及模塊,對于這三個的使用,會在下篇文章中進行闡述。請有興趣的朋友先好好體會要python函數的使用。

看完上述內容,你們對Python的函數使用是怎么樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 长岭县| 常山县| 三河市| 孝感市| 兰溪市| 石渠县| 兴义市| 通海县| 荥阳市| 台山市| 灵宝市| 天长市| 依兰县| 皮山县| 榕江县| 吕梁市| 油尖旺区| 始兴县| 苏州市| 崇信县| 商河县| 疏附县| 乐平市| 扶风县| 锡林郭勒盟| 习水县| 斗六市| 方山县| 鲁山县| 孝感市| 永州市| 浦北县| 湘乡市| 长泰县| 内黄县| 衢州市| 盘锦市| 乌兰县| 乐昌市| 上饶县|