python关于函数

"""

    函数的参数

        1.位置参数

            -普通参数

            -传递时符合参数位置及个数

        2.默认值参数(缺省参数)

            -默认参数即声明时,为参数指定默认值,在调用时可以不用传递参数

        3.可变参数

            -格式: *参数名(通常用args) : 个数不确定

            -会将可变参数打包为元组

        4.关键字参数

            -格式: **参数名 : 个数不确定,但传递参数时,需要以变量名 = 值的形式传入

            -会将关键字参数打包为字典

        5.命名关键字参数

            -格式: *可变参数 命名关键字参数 **关键字参数 ---写在可变参数之后

            -在传递参数时,”必须指名道姓“写出参数名称

        重要问题:

            参数的定义顺序问题?

            未知参数->默认参数->可变参数->命名关键字参数->关键字参数

            可变参数和关键字参数的打包和解包问题?

"""

#1.位置参数

def sum(x,y):

    return x / y

print(sum(10,20))

print(sum(20,10))

#2.默认参数

def f1(a, b = 0):

    print("a:",a,"b:",b)

f1(1)

#3.可变参数

def f2(a, b = 0, *args):

    print("a:",a,"b:",b,"args:",args)

f2(10,1,2,3,4,5,6)

#4.关键字参数

def f3(a, b = 0, *args, **keywords):

    print("a:",a,"b:",b,"args:",args,"keywords:",keywords)

f3(10,1,2,3,4,5,6,name = "zhangsan",age = 18, salary = 10000.0)

#5.命名关键字参数

def f4(a, b = 0, *args, nickname,**keywords):

    print("a:",a,"b:",b,"args:",args,"nickname:", nickname,"keywords:",keywords)

f4(10,1,2,3,4,5,6,nickname = "LuBengWei",name = "zhangsan",age = 18, salary = 10000.0)

#参数的解包

values = (1,2,3,4)

person = {"username:" : "zhangsan","age":18}

f3(10,20,*values,**person)

# 补充内容:当参数需要命名关键字参数,但不需要可变参数时,根据命名关键字特性,需要用*占位

def f5(a, *, name):

    print("a:",a,"name:",name)

f5(10,name = "zhangsan")

"""

    函数的返回值

        1.函数返回值 不加参数时表示立即结束

        2.返回值为容器

        3.返回值为对象

        4.多返回值

    函数对象的引用传递

"""

def sum(x,y):

    z = x + y

    return z

# !直接打印函数名称时,打印的是函数对象

print(sum)

# 函数对象应用传递! 调用时可以直接使用传递后的对象

sum_change = sum

sum(10,20)

sum_change(20, 30)

# 1.函数返回值 不加参数时表示立即结束

# return 立即结束函数返回被调处

def test1():

    return

#案例一:

age = 18

def is_chengnian(age):

    if age > 18:

        print("您已成年")

        return

        print("可以进入")

is_chengnian(age)

# -pass的用法

def test2():

    pass #让函数结构完整 , 不出现编译错误

print("...")

# 2.返回值为容器

def test3():

    return[1,2,3,4]

print(test3())

# 3.返回值为对象

def test4():

    return range(0,10)

print(test4())

# -返回值自身

def test5():

    return test5

print(test5())

test_change = test5()

print(test_change)

# 4.多返回值

def test6():

    return 1,2,3,4

a, b, c, d = test6()

print(a)

print(b)

print(c)

print(d)

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值