Python小白学习教程从入门到入坑------第十五课 函数的各类参数与函数嵌套(语法基础)

目录

一、函数的各类参数

1.1 必备参数(位置参数)

1.2 默认参数 

1.3 可变参数 

1.4 关键词参数 

二、函数嵌套

2.1 嵌套调用

2.2 嵌套定义



一、函数的各类参数

1.1 必备参数(位置参数)

含义:传递和定义参数的顺序及个数必须一致

格式:def  func(a, b)

eg:

def funa(name,age,sex):
    print(name)
    print(age)
    print(sex)
funa("xiao ming",18,"男")  # 写了几个就必须要传几个,不可以多传,也不可以少传
# 输出结果:
# xiao ming
# 18
# 男

1.2 默认参数 

含义:为参数提供默认值,调用函数时可不传该默认参数的值

注意:所有的位置参数必须出现在默认参数前,包括函数定义和调用

eg:

def funb(a=8):
    print(a)
funb()
funb(200)  # 设置默认值,没有传值会根据默认值来执行代码,传了值根据传入的值来执行代码
# 输出结果:
# 8
# 200

def funb(a=8,b):   # 报错,位置参数b必须出现在默认参数a=8之前
    print(a)
funb()

1.3 可变参数 

含义:可以接收任意数量的位置参数,这些参数在函数内部被打包成一个元组,传入的值的数量是可以改变的,可以传入多个,也可以不传

格式:def  func(*args)          # args是约定俗成,*号代表是可变参数,无*号,args也同样是位置参数

eg:

def func(*args):   # 可以把args改成其他参数名,但是args符合代码的规范性
    print(args)    # 输出结果:('海绵宝宝', '派大星星', '章鱼哥哥')
    print(type(args))   # <class 'tuple'>,以元组形式接收
func("海绵宝宝","派大星星","章鱼哥哥")

1.4 关键词参数 

含义:以接收任意数量的关键字参数,这些参数在函数内部被打包成一个字典

格式:def  func(**kwargs)     # kwargs是约定俗成,**号代表是可变参数,无**号,kwargs也同样是位置参数

注意:传值的时候,需要采用键=值的形式

eg:

def fund(**kwargs):  # 可以把kwargs改成其他参数名,但是kwargs符合代码的规范性
    print(kwargs)
    print(type(kwargs))    # 以字典形式接收
fund() # 空字典
fund(name='xiao ming',age=18)  # 传值的时候,需要采用键=值的形式

二、函数嵌套

2.1 嵌套调用

含义:在一个函数里面调用另外一个函数

eg:

def study():
    print("好好学习")
def course():
    study()  # 在course()函数中调用study()函数
    print("Python")
course()
# 输出结果:
# 好好学习
# Python

2.2 嵌套定义

含义:在一个函数中定义另外一个函数

注意:不要在内层函数中调用外层函数,会陷入死循环,直到超过递归的最大深度

eg:

def study():         # 外函数
    print("好好学习")
    def course():    # 内函数
        print("Python")
    course()  # 注意缩进,定义和调用是同级的,调用如果在定义里面则永远调用不到
study()
# 输出结果:
# 好好学习
# Python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

糊涂君-Q

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

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

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

打赏作者

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

抵扣说明:

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

余额充值