python 函数传字典 python函数传递字典_函数传参字典

python 函数传字典 python函数传递字典_函数传参字典_02

函数返回字典

  函数除了可以返回简单的计算值,也可以返回字典。

def create_pets_name(cat_name,dog_name):    pets_name={"Cat":cat_name,"dog_name":dog_name}    return pets_namepets=create_pets_name("Kitty","Goofy")print(pets)

第一行:定义一个函数,函数有两个形参

第二行:将带有形参的的字典赋值给pets_name 变量

第三行:返回pets_name 变量

第四行:我们将含有实参的create_pets_name函数赋值给pets变量,由于函数返回了一个字典,因此pets事实上是一个字典

第五行:打印pets,即打印字典

看看执行结果:

python 函数传字典 python函数传递字典_ci_03

python 函数传字典 python函数传递字典_函数返回_04

函数和循环的应用

     函数可以和任何结构结合使用,将函数和循环结合,我们可以轻易地重复使用函数:

def create_pets_name(cat_name,dog_name):    pets_name={"Cat":cat_name,"dog_name":dog_name}    return pets_namewhile True:    cat_na=input("please input the cat name :")    dog_na=input("please input the cat name :")    pets=create_pets_name(cat_na,dog_na)    print(pets)

第一行:定义一个函数,函数有两个形参

第二行:将带有形参的的字典赋值给pets_name 变量

第三行:返回pets_name 变量

第四行:while True ,是while循环的一种写法,代表,条件为True时执行函数

第五行:用cat_na 接收用户输入的猫的名字

第六行:用dog_na 接收用户输入的狗的名字

第七行:我们将含有实参的create_pets_name函数赋值给pets变量,由于函数返回了一个字典,因此pets事实上是一个字典

第八行:打印pets,即打印字典

看看执行结果:

程序按我们的方法执行了,但是它不断的让我们输入猫和狗的名字,似乎美版法停下来呢。还记得我们在提到while 循环时提到的无限循环,这也是一种无限循环,我们需要定义一个结束条件,让程序在我们想要停下来的时候能够停下来。

def create_pets_name(cat_name,dog_name):    pets_name={"Cat":cat_name,"dog_name":dog_name}    return pets_namewhile True:    cat_na=input("please input the cat name :")    if cat_na == "quit":        break    dog_na=input("please input the dog name :")    if dog_na == "quit":        break    pets=create_pets_name(cat_na,dog_na)    print(pets)

我们看看我们更新过的代码:

第六行:如果用户输入 quit 那么执行下面语句

第七行:break语句将使循环中断

第八行:如果用户输入quit 那么执行下面语句

第九行:break语句将使循环中断

看看执行情况:

现在我们可以在我们想要结束程序的时候输入quit即可。

python 函数传字典 python函数传递字典_函数返回_05

传递列表给函数

如果我们希望将一些列的宠物名字传递给函数,我们可以尝试使用列表

def pets_name(pet_name):    for pet in pet_name:        print(pet)pets=['miky','goofy','tom']create_pets_name(pets)

第一行:定义一个pets_name 函数

第二行:通过循环遍历传入的列表

第三行:打印每个遍历的元素

第四行:我们定义了一个宠物的列表

第五行:调用函数,并传入pets列表

执行结果如下:

python 函数传字典 python函数传递字典_函数返回_06

python 函数传字典 python函数传递字典_赋值_07

函数返回列表

pet_list=[]def pets_name(pet_name):    pet_list.append(pet_name)    return pet_listwhile True:    pet=input("请输入宠物名")    if pet=="quit":        break    print(pets_name(pet))

第一行:定义一个空列表

第二行:定义一个pets_name的函数

第三行:将传入的实参添加入列表

第四行:返回列表

第五行:while循环

第六行:获取用户输入并赋值给pet变量,

第七行:如果用户输入的值是quit ,那么执行下面语句

第八行:中断循环

第九行:打印函数返回的列表

看看执行结果

python 函数传字典 python函数传递字典_函数传参字典_08

我们每输入一个宠物名,我们就在列表里面增加了这个宠物名

python 函数传字典 python函数传递字典_赋值_09

上期答案与本期习题

1.定义一个函数City_info , 它含有两个形参,一个是城市名,一个是国家名,国家名默认为China , 调用函数City_info,并传入一个城市名

def city_info(city,country="China"):    print(city + " is in " +country)city_info("BeiJing")

2.定义一个平方运算函数,要求返回计算的结果,调用函数并传入一个数值

def cal_number(number_value):     cal_result=number_value**2     return cal_resultprint(cal_number(10))

本期习题:

1. 定义一个函数,有两个形参,这两个形参是一个字典的值,返回这个字典,调用字典并传参,打印调用的结果

2.传递一个列表给函数,并在函数里面遍历这个列表,并打印列表元素