函数和Return语句

# 函数

# 形参:定义函数时,定义的参数

# 实参:调用函数时,传递的参数


# 参数的分类--5种参数

# 1.位置参数

# def say_hello(name, age):

#     print('%s %d say hello' % (name, age))

# say_hello('jerry', 18)  # 位置正确

# say_hello(18, 'jerry')  # 位置错误


# 2.关键字参数

# def say_hello(name, age):

#     print('%s %d say hello' % (name, age))

# say_hello(name='jerry', age=18)  # 通过 形参 = 实参 的形式来传递

# say_hello(age=18, name='jerry')  # 顺序无所谓


# 3.命名关键字参数: 必须严格按照 形参 = 实参 的形式传递

# def say_hello(*, name, age):

#     print(name, age)

#

# # say_hello('jerry', 18)  # 这样是不行的

# say_hello(name='jerry', age=18)

# say_hello(age=18, name='jerry')


# 4.默认值参数

# def say_hello(name='jerry', age=18):

#     print('%s %d say hello' % (name, age))

# say_hello()            # 2个参数都不传

# say_hello('tom')       # 可以直接传第一个参数

# say_hello(28)          # 直接传第二个参数,这样是不行的

# say_hello('lucy', 21)  # 2个都传


# def say_hello(name, age=18):

#     print('%s %d say hello' % (name, age))

# say_hello('tom')       # 可以直接传第一个参数

# say_hello(28)          # 直接传第二个参数,这样是不行的

# say_hello('lucy', 21)  # 2个都传


# def say_hello(name='haha', age):  # 默认值参数,必须放在非默认值参数之后


# 5.参数组(元组参数组、字典参数组)

'''

形参前加一个*,使参数变成一个元组,所以传递的参数变成元组的元素

形参前加两个*,使参数变成一个字典,所以传递的参数变成字典的键值对

'''

# 元组参数组

# def say_hello(*names):

#     print(names)

#

# say_hello('jerry')

# say_hello('jerry', 'tom', 'lucy')

# say_hello(*range(3))

# say_hello(*(1, 2, 3, 4))  # * 后面可以跟一个元组

# say_hello()


# 字典参数组

# def say_hello(**kw):

#     print(kw)

#

# say_hello()

# say_hello(name='jerry')

# say_hello(name='jerry', age=18)

# say_hello(**{'name': 'jerry', 'age': 18})  # ** 后面可以跟一个字典



# 匿名函数

# aaa = lambda x, y: x+y

# print(aaa(1, 2))


# aaa = lambda x, y: print(x+y)

# aaa(1, 2)


# return

'''

return结束,函数结束,return后面的语句不会再执行了

只能使用一个return语句

return a

return a, b, c

'''

# def a():

#     print('this is a')

#

# def b():

#     return 1, 2

#

# a()

#

# c, d = b()

# print(c, d)

#

# e = b()

# print(e)


猜你喜欢

转载自blog.51cto.com/11009785/2369689