<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Python Lambda 函數 > 原文: [http://zetcode.com/python/lambda/](http://zetcode.com/python/lambda/) Python lambda 函數教程展示了如何在 Python 中創建匿名函數。 Python 中的匿名函數是使用`lambda`關鍵字創建的。 ## Python Lambda 函數 Python lambda 函數(也稱為匿名函數)是沒有名稱的內聯函數。 它們是使用`lambda`關鍵字創建的。 這是內置 Python 的函數示例的一部分。 Python lambda 函數僅限于單個表達式。 它們可以在可以使用常規函數的任何地方使用。 ## Python Lambda 語法 Python lambda 具有以下語法: ```py z = lambda x: x * y ``` 該語句使用`lambda`關鍵字創建一個匿名函數。 該函數將兩個值相乘。 `x`是傳遞給 lambda 函數的參數。 參數后跟一個冒號。 冒號旁邊的代碼是調用 lambda 函數時執行的表達式。 lambda 函數分配給`z`變量。 ## Python Lambda 示例 以下是演示 Python lambda 函數的簡單示例。 `lambda_fun_simple.py` ```py #!/usr/bin/python3 def square(x): return x * x sqr_fun = lambda x: x * x print(square(3)) print(sqr_fun(4)) ``` 在示例中,我們有兩個函數對一個值求平方。 ```py def square(x): return x * x ``` 這是用`def`關鍵字定義的 Python 函數。 該函數的名稱為`square`。 ```py sqr_fun = lambda x: x * x ``` 在這里,我們使用`lambda`定義了一個匿名的內聯函數。 請注意,該函數沒有名稱。 `sqr_fun`是保存已創建的 lambda 函數的變量的名稱。 ```py ./lambda_fun_simple.py 9 16 ``` 這是示例的輸出。 ## Python Lambda 和`map` Python lambda 函數可用于`map()`函數。 我們可以創建更簡潔的代碼。 Python `map()`是一個內置函數,該函數將給定函數應用于`iterable`的每一項,并返回一個迭代器對象。 `lambda_fun_map.py` ```py #!/usr/bin/python3 nums = [1, 2, 3, 4, 5, 6] nums_squared = map(lambda x: x * x, nums) for num in nums_squared: print(num) ``` 該示例為`map()`創建一個 litle 內聯函數作為參數。 使用`map()`函數,我們將 lambda 函數應用于列表的每個元素。 ```py $ ./lambda_fun_map.py 1 4 9 16 25 36 ``` 這是輸出。 ## Python lambda 和`filter` Python lambda 函數可以與`filter()`函數一起使用。 `filter()`函數根據可迭代的那些元素構造一個列表,這些元素為其返回`true`。 `lambda_fun_filter.py` ```py #!/usr/bin/python3 nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] nums_filtered = list(filter(lambda x: x % 2, nums)) print(nums_filtered) ``` 在示例中,我們過濾了整數列表。 新列表僅包含奇數整數。 ```py nums_filtered = list(filter(lambda x: x % 2, nums)) ``` `filter()`的第一個參數是處理列表元素的函數。 lambda 函數具有`x % 2`表達式,對于奇數值返回`true`。 ```py $ ./lambda_fun_filter.py [1, 3, 5, 7, 9, 11] ``` 這是輸出。 ## Python Lambda 和 Tkinter Python lambda 函數可用于 Tkinter 的 GUI 編程中。 它允許為`command`參數創建小的內聯函數。 ```py lambda_tkinter.py ``` ```py #!/usr/bin/python3 # -*- coding: utf-8 -*- from tkinter import Tk, BOTH, messagebox from tkinter.ttk import Frame, Button class Example(Frame): def __init__(self, parent): Frame.__init__(self, parent) self.parent = parent self.initUI() def initUI(self): self.parent.title("Buttons") self.pack(fill=BOTH, expand=1) btn1 = Button(self, text="Button 1", command=lambda: self.onClick("Button 1")) btn1.pack(padx=5, pady=5) btn2 = Button(self, text="Button 2", command=lambda: self.onClick("Button 2")) btn2.pack(padx=5, pady=5) btn2 = Button(self, text="Button 3", command=lambda: self.onClick("Button 3")) btn2.pack(padx=5, pady=5) def onClick(self, text): messagebox.showinfo("Button label", text); def main(): root = Tk() root.geometry("250x150+300+300") app = Example(root) root.mainloop() if __name__ == '__main__': main() ``` 我們有三個按鈕共享一個回調。 lambda 函數允許我們將特定數據發送到回調函數。 每個按鈕在消息框中顯示其標簽。 ```py btn1 = Button(self, text="Button 1", command=lambda: self.onClick("Button 1")) ``` 我們將匿名函數傳遞給`command`參數。 我們將按鈕的標簽發送到`onClick()`回調。 在本教程中,我們使用了 Python lambda 函數。 您可能也對以下相關教程感興趣: [Python 教程](/lang/python/), [Python 集教程](/python/set/), [Python `for`循環](/python/forloop/), [Python 列表推導](/articles/pythonlistcomprehensions/), [Python 映射教程](/python/map/), [OpenPyXL 教程](/articles/openpyxl/), [Python Requests 教程](/web/pythonrequests/)和 [Python CSV 教程](/python/csv/)。
                  <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>

                              哎呀哎呀视频在线观看