查漏补缺系列(二)------函数

1.关键字实参
关键字实参是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。下面有个小例子:

def describe_people(age,name):
    print(name + " is "+ age+ " years old.")
describe_people(name='Wangwenhong',age='14')

确实比原来的方法要更随意。
注意:务必准确地指定函数定义中的形参名
2.默认值
编写函数时,可给每个形参指定默认值,在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数 调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。

def describe_people(age,name='wang'):
    print(name + " is "+ age+ " years old.")
describe_people('14')
输出:wang is 14 years old.
def describe_people(age,name='wang'):
    print(name + " is "+ age+ " years old.")
describe_people('14','ren')
输出:ren is 14 years old.

注意:使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的实参。这让Python依然能够正确地解读位置实参。
3.返回字典
函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。

def describe_people(name,age):
    people = {'name':name,'age':age}
    return people
id=describe_people('wang','14')
print(id)
输出:
{'name': 'wang', 'age': '14'}

4.传递列表
你经常会发现,向函数传递列表很有用,这种列表包含的可能是名字、数字或更复杂的对象(如字典)。将列表传递给函数后,函数就能直接访问其内容。

def sayhello(names):
    for name in names:
        print("Hello! "+ name.title()+".")
names = ['wang','li','chen']
sayhello(names)
输出:
Hello! Wang.
Hello! Li.
Hello! Chen.

5.传递任意数量的实参
有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参。

def sayhello(*name):
    print(name)
sayhello('wang','li','chen')
sayhello('wang')
输出:
('wang', 'li', 'chen')
('wang',)

还有不足之处以后继续查漏补缺~~~~~

发布了37 篇原创文章 · 获赞 42 · 访问量 4519

猜你喜欢

转载自blog.csdn.net/qq_43337175/article/details/104313133