python函数2(返回值、传递列表...)

python函数2(返回值、传递列表...)

 1、返回值

1.1、返回简单的值

1 #返回简单值
2 def get_formatted_name(first_name,last_name):
3     """返回整洁的名字"""
4     full_name = first_name + ' ' + last_name
5     return full_name.title() #将首字母大写
6 
7 musician = get_formatted_name('jim','harry')
8 print(musician)

执行结果:

Jim Harry

1.2、实参可选

什么叫参数可选,就是在调用函数时,如果形参中定义的值在函数调用时并不存在,那么怎么要实参可选呢?就是把形参定义一个默认值,这个默认值为即可。

 1 #实参可选
 2 def get_formatted_name(first_name,last_name,middle_name = ''):
 3     """返回整洁的名字"""
 4     if middle_name:
 5         full_name = first_name + ' ' + middle_name + ' '+ last_name
 6     else:
 7         full_name = first_name + " " + last_name
 8     return full_name.title()
 9 
10 musician = get_formatted_name('jim','harry')
11 print(musician)
12 musician = get_formatted_name('jim','harry','coo')
13 print(musician)

执行结果:

Jim Harry
Jim Py Harry

1.3、返回字典

函数可以返回任意值,包括列表、字典等复杂的数据结构

1 #返回字典
2 def get_formatted_name(first_name,last_name):
3     """返回整洁的名字"""
4     full_name = {'first':first_name,'last':last_name}
5     return full_name
6 
7 musician = get_formatted_name('jim','harry')
8 print(musician)

执行结果:

1 {'last': 'harry', 'first': 'jim'}

还可以增加年纪等信息

1 #拓展,增加年纪等信息
2 def get_formatted_name(first_name,last_name,age = ''):
3     """返回整洁的名字"""
4     person = {'first':first_name,'last':last_name}
5     if age:
6         person['age'] = age
7     return person
8 musician = get_formatted_name('jim','harry',age = '27')
9 print(musician)

执行结果:

1 {'age': '27', 'last': 'harry', 'first': 'jim'}

1.4、结合使用函数和while循环

函数可以结合之前学过的while循环进行使用,让人机交互成为可能。

#结合使用函数和while循环
def get_formatted_name(first_name,last_name):
    """返回整洁的名字"""
    full_name = first_name + ' ' + last_name
    return full_name

while True:
    print("\nPlease inter your name?")
    print("inter q to quit!")

    f_name = input('First name :')
    if f_name == 'q':
        break

    l_name = input('Last name:')
    if l_name == 'q':
        break
    musician = get_formatted_name(f_name,l_name)
    print(musician)

2、传递列表(修改列表、禁止函数修改列表)

6、传递任意数量的实参

7、将函数存储在模块中

猜你喜欢

转载自www.cnblogs.com/aszeno/p/10386149.html