函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码块。
# 格式: def 函数名(参数列表): 函数体
## 定义函数 # 使用def定义函数名称,以冒号开始函数体 def myprint(): """ 这是用于函数说明的注释,一般建议进行简要说明! def 后面的缩进的代码块都是函数体的内容。 """ print('Hello world!') # 调用函数,直接输入函数名称 myprint()
# 有形参和实参 def myprint(username): """username就是一个形参,在函数外调用函数时需要填入的实参,会传递到函数体内""" print('Hello ' + username + ' !') # 调用函数,直接输入函数名称,括号里面的就是实际传的参数 myprint('wzs') myprint('lym') # 位置实参 # 位置实参/必须参数,形参和实参一一对应,不能多或者少,否则跳出异常,参数可以是字符串、数字或者序列数据类型 def describe_pet(animal_type,pet_name): """定义一个现实宠物信息的函数,定义两个形参""" print('\n我有一只宠物:' + animal_type + '!') print('它的名字叫:' + pet_name.title() + '!') # 必须传入两个参数,而且需要按照给定的顺序 describe_pet('布偶猫','招财') # 默认参数,可以在形参时设置默认值,在传入实参时没有输入就使用默认值 def description_people(name,tall='165cm'): print('你叫' + name +', 身高为:' + tall) description_people('wzs') # 函数的返回值 # 可以将程序的工作转移到函数体中,返回需要的结果,使用return语句,然后在函数调用行接收返回值 def get_formatted_name(first_name,last_name): """返回完整的姓名""" full_name = first_name + ' ' + last_name return full_name # 需要定义变量接收返回值 musician = get_formatted_name('chuck','wu') print(musician) # 传递列表 def greet_users(names): """向列表中的用户发出问候""" for name in names: print('你好, ' + name.title() + '!') usernames = ['wzs','chuck','lym','joan'] greet_users(usernames) # 传递任意数量的实参,使用*匹配 def food_print(*foods): print(foods) food_print('beef','meat','apple')