<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Python 函數 > 原文: [https://www.programiz.com/python-programming/function](https://www.programiz.com/python-programming/function) #### 在本文中,您將了解函數,函數是什么,函數的語法,組件和類型。 此外,您還將學習在 Python 中創建函數。 ## Python 中的函數是什么? 在 Python 中,函數是一組執行特定任務的相關語句。 函數有助于將我們的程序分解為較小的模塊化塊。 隨著我們的計劃變得越來越大,函數使其變得更有組織性和可管理性。 此外,它避免了重復并使代碼可重復使用。 ### 函數語法 ```py def function_name(parameters): """docstring""" statement(s) ``` 上面顯示的是由以下組件組成的函數定義。 1. 關鍵字`def`,用于標記函數頭的開始。 2. 用于唯一標識函數的函數名稱。 函數命名遵循相同的[規則,即在 Python](/python-programming/keywords-identifier#rules) 中編寫標識符。 3. 通過其將值傳遞給函數的參數(參數)。 它們是可選的。 4. 冒號(`:`)標記函數頭的結尾。 5. 可選的文檔字符串(docstring),用于描述函數的功能。 6. 組成函數體的一個或多個有效 python 語句。 語句必須具有相同的縮進級別(通常為 4 個空格)。 7. 可選的`return`語句,用于從函數返回值。 ### 函數示例 ```py def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") ``` ### 如何在 python 中調用函數? 定義函數后,我們可以從另一個函數,程序甚至 Python 提示符下調用它。 要調用函數,我們只需鍵入帶有適當參數的函數名稱即可。 ```py >>> greet('Paul') Hello, Paul. Good morning! ``` **注意**:嘗試在帶有函數定義的 Python 程序中運行以上代碼,以查看輸出。 ```py def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul') ``` * * * ## 文檔字符串 函數頭之后的第一個字符串稱為 docstring,是文檔字符串的縮寫。 簡要說明了函數的作用。 盡管是可選的,但文檔是一種好的編程習慣。 除非您記得上周的晚餐時間,否則請務必記錄您的代碼。 在上面的示例中,我們在函數標頭的正下方有一個文檔字符串。 我們通常使用三引號,以便文檔字符串可以擴展到多行。 該字符串可作為函數的`__doc__`屬性使用。 **例如**: 嘗試將以下內容運行到 Python shell 中以查看輸出。 ```py >>> print(greet.__doc__) This function greets to the person passed in as a parameter ``` 要了解有關 Python 中的文檔字符串的更多信息,請訪問 [Python 文檔字符串](/python-programming/docstrings)。 * * * ## `return`語句 `return`語句用于退出函數并返回到調用它的位置。 ### `return`語法 ```py return [expression_list] ``` 該語句可以包含一個被求值的表達式并返回值。 如果該語句中沒有表達式,或者`return`語句本身不存在于函數中,則該函數將返回`None`對象。 **例如**: ```py >>> print(greet("May")) Hello, May. Good morning! None ``` 此處,`None`是返回值,因為`greet()`直接打印名稱并且不使用`return`語句。 * * * ### `return`示例 ```py def absolute_value(num): """This function returns the absolute value of the entered number""" if num >= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4)) ``` **輸出** ```py 2 4 ``` * * * ## Python 中的函數如何工作? ![How function works in Python?](https://img.kancloud.cn/09/77/09777b430957626caecd9fa90335df83_322x313.png "How function works in Python?") Python 中的函數原理 * * * ## 變量的范圍和壽命 變量的范圍是程序中可以識別該變量的部分。 從函數外部看不到在函數內部定義的參數和變量。 因此,它們具有本地范圍。 變量的生存期是變量在內存中退出的時間。 函數內部變量的生存期與函數執行的時間一樣長。 一旦我們從函數返回,它們就會被銷毀。 因此,函數無法記住其先前調用中的變量值。 這是一個示例,說明函數內部變量的范圍。 ```py def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x) ``` **輸出**: ```py Value inside function: 10 Value outside function: 20 ``` 在這里,我們可以看到`x`的初始值是 20。 即使函數`my_func()`將`x`的值更改為 10,它也不會影響功能外部的值。 這是因為函數內部的變量`x`與外部的變量不同(局部于函數)。 盡管它們具有相同的名稱,但是它們是兩個具有不同作用域的不同變量。 另一方面,從外部可以看到函數外部的變量。 它們具有全局范圍。 我們可以從函數內部讀取這些值,但不能更改(寫入)它們。 為了在函數外部修改變量的值,必須使用關鍵字`global`將它們聲明為全局變量。 * * * ## 函數類型 基本上,我們可以將函數分為以下兩種類型: 1. [內置函數](/python-programming/built-in-function)-Python 內置的函數。 2. [用戶定義的函數](/python-programming/user-defined-function)-用戶自己定義的函數。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看