天天看點

Python入門系列(六)一篇學會python函數

函數

函數是隻在調用時運作的代碼塊。

def my_function():
  print("Hello from a function")

my_function()
           

資訊可以作為參數傳遞到函數中。

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")
           

如果不知道将傳遞到函數中的參數數量,請在函數定義中的參數名稱前添加一個*。

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")
           

您還可以使用key=value文法發送參數。

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
           

如果不知道将傳遞到函數中的關鍵字參數數量,請在函數定義中的參數名稱前添加兩個星号:*。

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")
           

Lambda

lambda函數是一個小型匿名函數。

lambda函數可以接受任意數量的參數,但隻能有一個表達式。

文法

lambda arguments : expression
           
x = lambda a : a + 10
print(x(5))
           

Lambda函數可以接受任意數量的參數

x = lambda a, b : a * b
print(x(5, 6))
           

為什麼要使用Lambda函數?

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))
           

您的關注,是我的無限動力!

公衆号 @生活處處有BUG