函数的参数和返回值

def empty():  # 不传参函数
    print("参数为空")


empty()
print("--" * 50)


def key_parameter(name, age):  # 关键参数,必传,并且对应
    print("name:%s" % name)
    print("age:%s" % age)


key_parameter("aaa", 18)  # 一一对应传入实参
key_parameter(age=18, name="bbb")  # 指定名称传入实参
print("--" * 50)


def default_parameter(name, age, sex=""):  # 默认参数,不传时使用默认值,传参时使用传递参数
    print("name:%s" % name)
    print("age:%s" % age)
    print("sex:%s" % sex)


default_parameter("aaa", 18)
default_parameter("ccc", 20, "")
print("--" * 50)


def add(*args):  # 不定长参数传递一个元组参数
    print(sum(args))


add(1, 2, 3)
print("--" * 50)


def print_info(**kwargs):  # 不定长参数传递一个字典
    for i in kwargs:
        print("%s : %s" % (i, kwargs[i]))


print_info(name="aa", age=18, sex="")
print("--" * 50)


def print_info_priority(name, sex="", *args, **kwargs):  # 型参的优先级: 关键参数 > 默认参数 > 不定长参数(* > **)
    print("name :%s" % name)
    print("sex :%s" % sex)
    for j in args:
        print(j)
    for i in kwargs:
        print("%s : %s" % (i, kwargs[i]))


print_info_priority('www', "", 1, 2, 3, bobby="basketball", age=18)   # 传递参数也必须对应优先级,'www':关键参数,"男":默认参数, 1, 2, 3:不定长*参数, bobby="basketball", age=18 :不定长**参数
print("--" * 50)


def print_info_return(**kwargs):  # 不定长参数传递一个字典
    for i in kwargs:
        print("%s : %s" % (i, kwargs[i]))
    '''return 返回参数:
        1、函数已return结束,return后面的不会执行,如果没写return默认会加 return None
        2、return返回的是一个对象,当有多个对象的时候是已元组的方式返回的一个对象
    '''
    return kwargs


info_return = print_info_return(name="aa", age=18, sex="")  # return返回值的接收
print(info_return)

 

def f1(*args):
    print(args)


f1(*[1, 2, 3])  # 当一个列表作为参数是,前面加*号可以表示传了多个参数,而不是作为一个参数传递

print("--" * 50)


def f2(**kwargs):
    print(kwargs)


f2(**{"name": "aaa"})  # 当一个字典作为参数时,前面加**号可以表示传了多个参数,而不是作为一个参数传递

print("--" * 50)


def f3(n):
    return n*n


def f4(a, b, c):
    sum_f4 = c(a)+c(b)
    return sum_f4


print(f4(1, 3, f3))  # 函数可以作为变量名传递,函数的参数名保存的是函数的地址,可以进行函数调用

print("--" * 50)


def f5():
    def f6():
        return 20
    return f6


print(f5()())

 

posted @ 2024-09-03 17:50  GDquicksand  阅读(16)  评论(0编辑  收藏  举报