python中函數的作用及相關操作

函數的作用:

  函數的主要作用是結束重複編寫代碼,函數的編寫更容易理解、測試代碼

閱讀指南:
#符號>>>後表示輸入的代碼,無開頭表示爲運行的結果

>>>print("Hello,python")
Hello,python

 

 

 

python中函數定義方法:

  

def function_name():#定義函數的名字格式爲"def 函數名稱():"括號一定要加,即使裏面沒有任何數據。
    move code#你需要運行的代碼

function_name()#調用你定義的函數

實例:

>>>def names():#定義一個叫做names()的函數
"""打印名字"""
>>> print("My name is lixiang")#該行就是函數的子代碼,調用函數時就會運行該代碼 >>>names()#調用定義的函數"names()"  My name is lixiang#調用函數後的結果

函數不單單隻能夠重複代碼,也可以將函數外部的數據傳遞至函數內部的代碼中。

形參and實參:

>>>def names(name1):#括號中的name1就是 形參  它的主要作用就是接收來自 實參 的數據
  """打印名字"""
>>> print(f"My name is {name1}") >>>names("lixiang")# 括號中的"lixiang" 就是 實參 #形參 和 實參 主要作用就是傳遞函數外的數據至函數內部

形參調用實參中的方法:

位置調用實參:

#位置調用就是基於實參和形參的位置來進行調用函數
>>>def information(name,age):#定義函數名和形參
  """填寫個人信息""" >>>
print(f"{name} is {age} old year")#形參數據的使用 >>>information("lixiang","22")#實參傳遞數據給形參,而傳遞的方式是位置傳遞
lixiang is 22 old year

 

關鍵字調用實參:

 

>>>def information(name,age):#定義函數名和形參
  """填寫個人信息"""
>>> print(f"{name} is {age} old year")#形參數據的使用 >>>information(age="22",name="lixiang")#通過關鍵字的傳遞來傳遞實參,在函數中使用"="符號時,兩邊不要加空格
lixiang is 22 old year

 

形參默認值:

有些時候我們需要默認值,當你不填寫的時候它會有個默認值。比如說我新增默認信息 來自:“中國”

 

>>>def information(name,age,come_from="china"):#第三個爲默認值"china"  需要將填寫默認值的數據填寫在形參的最後面,這樣纔可以更好的使用位置調用實參。
  """默認參數值"""
>>> print(f"{name} is {age} old year.He comes from {come_from}")#形參數據的使用 >>>information(age="22",name="lixiang")#無需填寫其他信息時 lixiang is 22 old year.He comes from china #輸出爲默認值China

 

當你填寫數據的時候就會把默認值覆蓋掉

>>>def information(name,age,come_from="china"):#第三個爲默認值"china"  需要將填寫默認值的數據填寫在形參的最後面,這樣纔可以更好的使用位置調用實參。
  """填寫個人信息"""
>>> print(f"{name} is {age} old year.He comes from {come_from}")#形參數據的使用 >>>information("lixiang","22","America")#需要更改信息時 lixiang is 22 old year.He comes from America#輸出結果從China更改爲America

返回值:

  內置方法return可指定返回的值,在函數內部代碼中,如果遇到return則會立即停止,並且返回你指定的值。在默認沒有指定的情況下,返回的值時none

不指定返回值時

>>>def information(name,age,come_from="china"):#定義函數名和形參
  """填寫個人信息"""
>>>    print(f"{name} is {age} old year.He comes from {come_from}")#形參數據的使用
>>>    return#未指定任何的值進行返回
>>>x = information("lixiang","22","America")用一個變量名x去接收返回的值
>>>print(x)#打印返回的值
lixiang is 22 old year.He comes from America
None#返回的值

指定返回值時:

>>>def information(name,age,come_from="china"):#定義函數名和形參
  """填寫個人信息"""
>>>    print(f"{name} is {age} old year.He comes from {come_from}")#形參數據的使用
>>>    return name#指定返回name
>>>x = information("lixiang","22","America")用一個變量名x去接收返回的值
>>>print(x)#打印返回的值
lixiang is 22 old year.He comes from America
lixiang#返回的值

讓實參變成可選的:

在實際的使用中可能有些時候需要實參,但有時候不需要,調用函數時不可能一直更改定義好的函數,這時需要我們提供可以選擇的實參。

 

>>>def cars_list(colour,style,depreciation=''):#depreciation變成可選擇的
>>>    """讓新舊程度變成可選擇的內容"""
>>>    if depreciation:#depreciation有內容的情況下,布爾值爲True
>>>        print(f"colour is {colour},style is {style},depreciation is {depreciation}")
>>>    else:
>>>        print(f"colour is {colour},style is {style}")
>>>cars_list("red","suv","8.5")#填寫新舊程度下的情況下
colour is red,style is suv,depreciation is 8.5

 

沒有填寫內容的情況下:

>>>def cars_list(colour,style,depreciation=''):#depreciation變成可選擇的
>>>    """讓新舊程度變成可選擇的內容"""
>>>    if depreciation:#depreciation有內容的情況下,布爾值爲True
>>>        print(f"colour is {colour},style is {style},depreciation is {depreciation}")
>>>    else:
>>>        print(f"colour is {colour},style is {style}")
>>>cars_list("red","suv",)#沒有填寫新舊程度下的情況下
colour is red,style is suv

 

傳遞任意數量的實參:

>>>def make_pizza(*toppings):#前面加上一個符號*,可接收任意數量的實參,可配合之前說明的的內容填入,該類應該放置形參的最後
>>>    """打印顧客點的所有配料"""
>>>print(toppings)
>>>make_pizza('pepperoni')
>>>make_pizza('mushrooms', 'green peppers', 'extra cheese')    
('pepperoni',)
('mushrooms', 'green peppers', 'extra cheese')

創建一個新列表,並傳遞任何數量的形參**

def build_profile(first, last, **user_info):#兩個**後會創建一個名爲user_info的列表
  """創建一個字典,其中包含我們知道的有關用戶的一切"""
  profile = {}
  profile['first_name'] = first
  profile['last_name'] = last
  for key, value in user_info.items():
    profile[key] = value
  return profile
user_profile = build_profile('albert', 'einstein',
                  location='princeton',
                   field='physics')
print(user_profile)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章