1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. Python 函數

            更新:

            Python 包含許多內置函數。這些函數執行預定義的任務,并且可以根據需要在任何程序中調用。但是,如果您沒有找到合適的內置函數來滿足您的目的,您可以定義一個。我們現在將看到如何在 Python 程序中定義和使用函數。

            定義函數

            函數是一個可重用的編程語句塊,用于執行特定的任務。為了定義一個函數,Python 提供了def關鍵字。以下是定義函數的語法。

            Syntax:

            def function_name(parameters):
                """docstring"""
                statement1
                statement2
                ...
                ...
                return [expr]
            

            關鍵字def后面跟一個合適的標識符作為函數的名稱和括號。一個或多個參數可以任選地在括號內提及。括號后的:符號開始縮進塊。

            函數體中的第一個語句可以是字符串,稱為docstring。它解釋了函數/類的功能。 文檔字符串不是強制性的。

            函數體包含一個或多個執行某些操作的語句。也可以使用傳遞關鍵字。

            可選地,函數塊中的最后一條語句是 return 語句。它將執行控制發送回調用環境。如果在返回之前添加了一個表達式,它的值也會返回到調用代碼中。

            以下示例定義了greet()函數。

            Example: User-defined Function

            def greet():
                """This function displays 'Hello World!'"""
                print('Hello World!') 

            以上,我們已經定義了greet()函數。第一個語句是一個 docstring,它提到了這個函數的功能。第二種類似的方法是打印方法,將指定的字符串顯示到控制臺。 注意沒有退貨單。

            要調用一個已定義的函數,只需在代碼中的任何地方使用它的名稱作為語句。例如,上面的函數可以用括號greet()來調用。

            Example: Calling User-defined Function

            greet() 

            Output

            Hello World! 

            默認情況下,如果返回語句不存在,所有函數都會返回None。

            Example: Calling User-defined Function

            val = greet() 
            print(val)

            Output

            None 

            幫助()功能顯示文檔字符串,如下圖所示。

            Example: Calling User-defined Function

            >>> help(greet)
            Help on function greet in module __main__:
            
                greet()
                    This function displays 'Hello World!'

            功能參數

            可以定義一個函數來接收一個或多個參數(也稱為參數),并在功能塊內使用它們進行處理。參數/自變量可以被賦予合適的正式名稱。greet()函數現在被定義為接收名為name的字符串參數。在該功能中,print()語句被修改以顯示發送給接收參數的問候信息。

            Example: Parameterized Function

            def greet(name):  
                print ('Hello ', name)
            
            greet('Steve') # calling function with argument
            greet(123) 

            Output

            Hello Steve
            Hello 123 

            函數定義中使用的參數名稱為形式參數。調用函數時實際使用的對象稱為實際參數。

            使用parameter:type語法,函數參數可以有注釋來指定參數的類型。例如,以下注釋了參數類型字符串。

            Example: Parameterized Function

            def greet(name:str):  
                print ('Hello ', name)
            
            greet('Steve') # calling function with string argument
            greet(123) # raise an error for int argument 

            多個參數

            一個函數可以有多個參數。下面的函數接受三個參數。

            Example: Parameterized Function

            def greet(name1, name2, name3):  
                print ('Hello ', name1, ' , ', name2 , ', and ', name3)
            
            greet('Steve', 'Bill', 'Yash') # calling function with string argument 

            Output

            Hello Steve, Bill, and Yash 

            未知的參數數量

            如果您不知道用戶將要傳遞的參數數量,Python 中的函數可以通過將*放在參數之前來獲得未知數量的參數。

            Example: Parameterized Function

            def greet(*names):  
                print ('Hello ', names[0], ', ', names[1], ', ', names[3])
            
            greet('Steve', 'Bill', 'Yash') 

            Output

            Hello Steve, Bill, and Yash 

            下面的函數可以處理任意數量的參數。

            Example: Parameterized Function

            def greet(*names):
                i=0
                print('Hello ', end='')
                while len(names) > i:
                    print(names[i], end=', ')
                    i+=1
            
            greet('Steve', 'Bill', 'Yash') 
            greet('Steve', 'Bill', 'Yash', 'Kapil', 'John', 'Amir') 

            Output

            Hello Steve, Bill, Yash,
            Hello Steve, Bill, Yash, Kapil, John, Amir 

            帶有關鍵字參數的函數

            為了調用帶有參數的函數,必須提供相同數量的實際參數。但是,可以通過以任何順序使用參數名傳遞參數值來調用函數。例如,下面使用參數名傳遞值。

            def greet(firstname, lastname):
                print ('Hello', firstname, lastname)
            
            greet(lastname='Jobs', firstname='Steve') # passing parameters in any order using keyword argument 

            Output

            Hello Steve Jobs 

            關鍵字參數**kwarg

            該函數可以有一個前綴為**的參數。這種類型的參數初始化為新的有序映射,接收任何多余的關鍵字參數,默認為相同類型的新空映射。

            Example: Parameterized Function

            def greet(**person):
                print('Hello ', person['firstname'],  person['lastname'])
            
            greet(firstname='Steve', lastname='Jobs')
            greet(lastname='Jobs', firstname='Steve')
            greet(firstname='Bill', lastname='Gates', age=55) 
            greet(firstname='Bill') # raises KeyError 

            Output

            Hello Steve Jobs
            Hello Steve Jobs
            Hello Bill Gates 

            使用**參數時,參數的順序無關緊要。但是,參數的名稱必須相同。 使用paramter_name['keyword_argument']訪問關鍵字參數的值。

            如果函數訪問關鍵字參數,但是調用代碼沒有傳遞該關鍵字參數,那么它將引發KeyError異常,如下所示。

            Example: Parameterized Function

            def greet(**person):
                print('Hello ', person['firstname'],  person['lastname'])
            
            greet(firstname='Bill') # raises KeyError, must provide 'lastname' arguement 

            Output

            Traceback (most recent call last):
              File "<pyshell#21>", line 1, in <module>
                greet(firstname='Bill')
              File "<pyshell#19>", line 2, in greet
                print('Hello ', person['firstname'],  person['lastname'])
            KeyError: 'lastname' 

            帶默認值的參數

            定義函數時,可以為其參數指定默認值。如果在調用函數時傳遞了適當的實際參數,則該默認值將被替換。但是,如果沒有提供實際參數,將在函數內部使用默認值。

            下面的greet()函數是用具有默認值'Guest'name參數定義的。 只有通過一些實際的參數,才會被替換。

            Example: Parameter with Default Value

            def greet(name = 'Guest'):
                print ('Hello', name)
            
            greet()
            greet('Steve') 

            Output

            Hello Guest
            Hello Steve 

            帶返回值的函數

            大多數時候,我們需要函數的結果用于進一步的處理。因此,當函數返回時,它也應該返回值。

            用戶定義的函數也可以通過在 return 語句前放置一個表達式來向調用環境返回值。在這種情況下,返回值必須賦給某個變量。

            Example: Return Value

            def sum(a, b): 
                return a + b 

            可以調用上面的函數并提供值,如下所示。

            Example: Parameter with Default Value

            total=sum(10, 20) 
            print(total)
            total=sum(5, sum(10, 20))
            print(total) 

            Output

            30
            35 
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>