日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python教程从入门到实践第八章_python:从入门到实践--第八章:函数

發(fā)布時間:2023/12/15 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python教程从入门到实践第八章_python:从入门到实践--第八章:函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

定義:函數(shù)是帶名字的代碼塊,用于完成具體的工作

定義函數(shù):

def greet_user():#關鍵字def來告訴python你要定義一個函數(shù),這是函數(shù)定義,以冒號結尾,括號必不可少,因為可能在括號內指出函數(shù)為完成其任務,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?需要什 么樣的信息

"""顯示簡單的問候語"""? #描述函數(shù)是做什么的,被稱為文檔字符串的注釋

print("Hellow!")? ? ?#是函數(shù)體內唯一的一行代碼,表示函數(shù)只做一項工作,打印hellow!

greet_user()? ? ? ? ? ? ? ?#表示調用這個函數(shù)

向函數(shù)傳遞信息:

def greet_user(username): #通過在這里添加username,調用它時給username指定一個值

print("Hellow!"+username)

greet_user("jesse")

形參和實參:

def greet_user(username) #這里username是形參----函數(shù)完成其工作所需的一項信息

greet_user("jesse")? ? ? ? ? ? ? ? ? ? #"jesse"是實參----是調用函數(shù)時傳遞給函數(shù)的信息

傳遞實參:鑒于函數(shù)定義中可能包含多個形參,因此函數(shù)調用中也可能包含多個實參

傳遞實參的方式:

1.位置實參:要求實參順序與形參的順序相同

2.關鍵字實參:其中每個實參都由變量名和值組成;還可以使用列表和字典,關鍵字實參的順序無關緊要

默認值:編寫函數(shù)時,可給每個形參指定默認值,在調用函數(shù)中給形參提供了實參時,python將使用指定的實參值;否則,將使用形參的默認值。因此,給形參指定默認值后,可在函數(shù)調用中省略相應的實參

***使用默認值時,在形參列表中必須先列出沒有默認值的形參,再列出有默認值的形參。這樣python依然能夠正確地解讀位置實參

***可混合使用位置實參、關鍵字實參和默認值

返回值-----重點

函數(shù)并非總是直接顯示輸出,相反,它可以處理一些數(shù)據(jù),并返回一個或一組值。函數(shù)返回的值被稱為返回值

可使用return語句將值返回到調用函數(shù)的代碼行

***如果需要用到函數(shù)的處理結果(調用結果)那么就寫return,不需要的話,就不用寫

def get_formatted_name(first_name,last_name):? #函數(shù)get_formatted_name()的定義通過形參接受名和姓

full_name=first_name+' '+last_name? ? ? ? ? ? ? ?#并將結果存儲在變量full_name中

return full_name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #將結果返回到函數(shù)調用行

musician=def get_formatted_name('jimi','hendrix')? #調用返回值的函數(shù)時,需要提供一個變量,用于存儲返回的值

print(musician)

讓實參變成可選的:給形參指定一個默認值---空字符串

def get_formatted_name(first_name,last_name,middle_name=' '):可以給形參middle_name指定一個默認值---空字符串,并將其移到形參列表的末尾

返回字典:

函數(shù)可返回任何類型的值,包括列表和字典等較復雜的數(shù)據(jù)結構

def build_persom(first_name,last_name):

person={'first':first_name,'last':last_name}

return person

musician=build_persom('wang','xiang')

print(musician)

結合使用函數(shù)和while循環(huán):

def get_formatted_name(first_name,last_name):

full_name=first_name+' '+last_name

return full_name

while True:

print("請輸入你的名和姓")

print("退出,請輸入q")

f_name=input("first_name:")

if f_name=='q':

break

l_name=input("last_name:")

if l_name=='q':

break

formatted_name=get_formatted_name(f_name,l_name)

print(formatted_name)

8.4傳遞列表:向函數(shù)傳遞列表

def greet_users(names):

for name in names:

msg="hellow,"+name

print(msg)

username=['jack','bob','ken']

greet_users(username)

---在函數(shù)中修改列表:將列表傳遞給函數(shù)后,函數(shù)就可對其進行修改。在函數(shù)中對這個列表所做的任何修改都是永久性的

#每個函數(shù)都應只負責一項具體的工作

def print_models(unprinted_designs,completed_models):

# 模擬打印每個設計,直到沒有未打印的設計為止

# 打印每個設計后,都將其移到completed_models中

while unprinted_designs:

current_designs = unprinted_designs.pop()

# 模擬打印過程

print("開始打印:"+current_designs)

completed_models.append(current_designs)

def show_completed_models(completed_models):

# 顯示打印好的所有模型

print("已打印好的")

for completed_model in completed_models:

print(completed_model)

unprinted_designs=['iphone case','robot pendant','dodecahedron']

completed_models=[]

print_models(unprinted_designs,completed_models)

show_completed_models(completed_models)

8.5傳遞任意數(shù)量的實參--有時,預先不知道函數(shù)需要接受多少個實參,python允許函數(shù)從調用語句中收集任意數(shù)量的實參

def make_pizza(*toppings):

print(toppings)

make_pizza('pepperonil')

make_pizza('pepperonil','green','extra cheese')

#形參名*toppings中的星號讓python創(chuàng)建一個名為toppings的空元組,并將收到的所有值都封裝到這個元組中。即便函數(shù)收到一個值也如此

8.5.1結合使用位置實參和任意數(shù)量實參

--如果要讓函數(shù)接受不同類型的實參,必須在函數(shù)定義中將接納任意數(shù)量實參的形參放在最后

def make_pizza(size,*toppings):

print(“\nMaking a”+str(size)+"-inch pizza with the following toppings:")

for topping in toppings:

print(topping)

make_pizza(16,'pepperonil')

make_pizza(12,'pepperonil','green','extra cheese')

8.5.2 使用任意數(shù)量的關鍵字實參

--有時候,需要接受任意數(shù)量的實參,但預先不知道傳遞給函數(shù)的會是什么樣的信息。在這種情況下,可將函數(shù)編寫成能夠接受任意數(shù)量的鍵-值對-----調用語句提供了多少就接受多少

def make_car(manufacturer, model, **options):#兩個星號讓python創(chuàng)建一個空字典

"""Make a dictionary representing a car."""

car_dict = {

'manufacturer': manufacturer.title(),

'model': model.title(),

}

for option, value in options.items():

car_dict[option] = value

return car_dict

my_outback = make_car('subaru', 'outback', color='blue', tow_package=True)

print(my_outback)

my_accord?=?make_car('honda',?'accord',?year=1991,?color='white',headlights='popup')

print(my_accord)

-

總結

以上是生活随笔為你收集整理的python教程从入门到实践第八章_python:从入门到实践--第八章:函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。