python中定义函数和调用

一、函数定义和调用

1.1、定义函数

定义(无参数)函数格式如下:

def 函数名():
    代码

1.1.1 无参函数

定义(有参数)函数格式如下,参数就是在调用函数的时候往函数中传值:

def 函数名(参数1, 参数2, ...):
    代码

1.1.2 有参函数

有参数的函数更加灵活,例如随机生成多少位验证码,传参几位是几位:

import random


def generate_code(num):
    s = 'ajksdfajhhfwqennmdfkqJAKSKJDKLWJLWSJSK'
    code = ''
    for i in range(num):
        r = random.choice(s)
        code += r
    print(code)


generate_code(4)
generate_code(6)

结果如下:
在这里插入图片描述
可以看到有参数的函数更灵活。


1.1.3 默值参数函数

默认值参数:在定义函数时,有一个或者多个参数已经赋好值。有默认值的参数,在调用时可以给或者不给。
注意:在定义函数时,普通参数要位于默认值参数的前面。
例:

def show_info(age, name="python"):
    print(name, age)


show_info(18)
show_info(18, "Javascript")

在这里插入图片描述


1.1.4 关键字参数函数

关键字参数:默认参数位置是固定的,在调用函数时候,通过指定关键字赋值。例:

def show_info(age, name="python", influence="Top2"):
    print(name, age, influence)


show_info(18, influence="Top1")

在这里插入图片描述
可以看到我们越过了第二个参数,直接使用关键字赋值传参。


1.1.5 可变参数*args函数

可变参数*args(装包),例:

def add_num(*args):
    s = 0
    print(args)
    for i in args:
        s += i
    print('和:', s)


add_num(1, 2, 3)
add_num(1, 2)
add_num()

在这里插入图片描述
这个过程可以理解为装包,把散的参数传递进来,变成元组的形式。


可变参数*args(拆包),例:

def add_num(*args):
    s = 0
    print(args)
    for i in args:
        s += i
    print('和:', s)


add_num(1, 2, 3)
add_num(1, 2)
ran_list = [1, 2, 3, 4, 5]
add_num(*ran_list)

在这里插入图片描述
拆包,顾名思义就是在传参的时候传的是列表,那么使用*进行拆包。


1.1.6 可变参数**kwargs函数

可变参数**kwargs,在函数调用的时候必须传递关键字参数,才可以将其转换成key: value,装到字典中。
例:

def show_song(**kwargs):
    print(kwargs)


show_song(name="星星电灯", author="郑智化")

同理这个理解为装包的过程。同样也有拆包的过程:

def show_song(**kwargs):
    print(kwargs)


dict1 = {"name": "星星电灯", "author": "郑智化"}
show_song(**dict1)

在这里插入图片描述


如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你华还是你华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值