python-函数 参数和简单的函数嵌套

 

目录

       1.位置参数

        2.关键字参数

        4.可变参数

(1)元组参数:(位置参数)

(2)字典参数  **kwargs(关键字参数)

5.定义函数时参数的顺序

6.函数嵌套


函数的参数是非常重要的

一共有4种

分别是: 位置参数,关键字参数,默认参数,可变参数(元组和字典)

下面我们开始详细说明:

 

1.位置参数


def sum(num1,num2):
    print(num1,num2)
sum(1,2)

如图:num1对应数字1,num2对应数字2,按顺序一个一个输入,这就是位置参数。

输出结果:

2.关键字参数

我们在传递参数的时候,以形参等于实参的形式忽略顺序进行输出。

忽略顺序,在程序较多难以分辨时非常好用!

def sum(num1,num2):
    print(num1,num2)

sum(num2=2,num1=1)

如上图:如果按照位置参数 输出应该是2  1

但是因为我们设定了关键字参数,所以输出结果如下:

4.可变参数

我们经常会遇到一种情况,就是如果我们需要的输入的函数特别多,那么我们需要定义的函数量会非常多

于是,就拥有了可变参数

可变参数分为两种:1.元组参数   2.字典参数

(1)元组参数:(位置参数)

通过给形参前面添加*使参数变成一个元组,所有传递的参数变成元组的元素
def func(*args):
    print(args)
func(1,2,3,4)

函数定义的参数我们用*args表示,这样,我们*args变成了一个元组,囊括了所有我们输入的参数。

输出结果如下:(输出形式是以元组形式输出的)

同时,*这个符号很特别,也拥有打散序列的功能。

def func(a,b,c):
    print(a,b,c)
tup=(1,2,3)#tup是元组
func(*tup)

输出结果:

为什么会这样呢?我们可以来看下

tup = (1,2,3)
print(*tup)

*打散这个元组,然后输出,我们得到的结果是:

在打散元组后,第一个赋值给a,第二个赋值给b,第三个赋值给c

然后输出。

(2)字典参数  **kwargs(关键字参数)

通过给形参前面添加**使参数变成一个字典,所有传递的参数变成字典的键值对,这里传参要求键等于值的形式。
def func(**kwargs):
    print(kwargs)
    print(kwargs['name'])
func(name='zs',age='10')

首先:name=‘zs’这种格式的都会转成{‘name’:'zs'}字典形式

输出结果如下:

 

5.定义函数时参数的顺序

位置参数,元组参数,默认参数,字典参数

def func(a,*args,b = 10,**kwargs):
    print(a)
    print(args)
    print(b)
    print(kwargs)

func(1,'ww','22',b = 23,c=40,d=50)

为什么这样呢?

因为位置参数、元组参数 比较相近,和其他两组差距明显,所以我们先来比较他们

1.位置参数只是一个,而可变参数是很多的,如果放在前面,位置参数将不会出现,因为全部被可变参数(元组参数囊括)

2.默认参数和字典参数理由同上

3.位置参数在最前面,所以最终位置形成。

6.函数嵌套

 

一个函数套着一个函数,记住:函数从上到下运行就不会错。

def outter():
    print("aaaa")
    def inner():
        print('bbbbbb')
    inner()
outter()

 

输出结果:

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值