每日一句:理想即寻觅目标的思维。
函数
带名字的代码块,可以用于减少重复代码
# 1.定义函数def
def great_user():# 指定函数名
"""显示简单的问候语"""# 文档字符串的注释,用于描述该函数是干什么用的
print("Hello!!!")# 函数体
# 调用函数,执行函数代码块
great_user()
传递实参
位置参数
def describe_pet(animal_type,pet_name):
"""显示宠物的信息"""
print("\nI have a "+animal_type+"." )
print("My "+animal_type+" 's name is "+pet_name.title()+".")
describe_pet('hamster','harry')
describe_pet('dog','willie')
# describe_pet(x,y),x,y需要按顺序存储
关键字实参
def describe_pet(animal_type,pet_name):
"""显示宠物的信息"""
print("\nI have a "+animal_type+"." )
print("My "+animal_type+" 's name is "+pet_name.title()+".")
describe_pet(animal_type='hamster',pet_name='harry')
describe_pet(pet_name='willie',animal_type='dog')
# 明确指出实参存储在哪个形参上,可以不按顺序
默认值
def describe_pet(pet_name,animal_type='dog'):
"""显示宠物的信息"""
print("\nI have a "+animal_type+"." )
print("My "+animal_type+" 's name is "+pet_name.title()+".")
describe_pet(pet_name='harry')
describe_pet(animal_type='hamster',pet_name='harry')
# 设置animal_type为'dog',调用函数只提供pet_name,输出时会默认输出animal_type='dog
# 当调用函数时,实参animal_type,pet_name都传递到形参中,会忽略默认值
# 参数过少并且没有指定默认值或过多,或没有指定实参,,调用该函数会报错
返回值
def get_formatted_name(first_name,last_name):
"""返回整洁的姓名"""
full_name=first_name+' '+last_name
return full_name.title()
msician=get_formatted_name('jimi','hendrix')
print(msician)
# 把调用函数传递给形参,return 返回值 full_name.title()
# 让实参变成可选的
def get_formatted_name(first_name,last_name,middle_name=' '):
"""返回整洁的姓名"""
if middle_name:
full_name = first_name +' '+ middle_name +' '+ last_name
else:
full_name= first_name +' '+ last_name
return full_name.title()
msician=get_formatted_name( 'jimi' , 'hendrix' )
print(msician)
msician=get_formatted_name( 'john' , 'hooker' , 'lee' )
print(msician)