当前位置: 首页 > 编程笔记 >

Python函数参数分类原理详解

松鸣
2023-03-14
本文向大家介绍Python函数参数分类原理详解,包括了Python函数参数分类原理详解的使用技巧和注意事项,需要的朋友参考一下

一、参数的定义

1、函数的参数在哪里定义

在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,隔开

案列:

# 利用函数的参数,定义一个可以完成任意两个数相加的函数
def add_num(a,b):
  c = a + b
  print(c)

2、带参数的函数调用:

函数定义了参数,那么调用函数的时候就需要传入参数

add_num(11,22)
#运行结果
33

上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参,

而我们调用函数的时候传入的参数叫做实参,形参是用来接收实参的。

二、参数分类

上面我们说了形参和实参,那么形参和实参在在定义和调用的时候,根据形式不同有可以分为几类,

1、根据实参进行分类

实参:位置参数、关键字参数

1.1、位置参数(未命名参数)

def func(a,b,c):
  print(a)
  print(b)
  print(c)
  
add_num(11,22,33)
#运行结果
11
22
33

上述案列中,的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数,

1.2、关键字参数(命名参数)

def func(a,b,c):
  print(a)
  print(b)
  print(c)
  
add_num(11,c=99,b=33)
#运行结果
11
33
99

调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数

注意:传参的时候先写位置参数,再写命名参数

2、根据形参进行分类

形参可以分为三类:必备参数、默然参数、不定长参数

2.1、必备参数:

在调用函数的时候必须要传的参数

def add(a,b):
  c=a+b
  print(c)
add(11,22)

上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错

2.2、默认参数(缺省参数):

调用函数的时候可以传可以不传,不传就用默认值

def func(a,b,c=99):
  print(a)
  print(b)
  print(c)
​
func(11,22,33)
print('-----------')
func(55,66)
​
#运行结果:
11
22
33
---------------
55
66
99

通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值,第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值

注意:带有默认值的参数一定要位于参数列表的最后面。

2.3、不定长参数*args和**kwargs

调用函数的时候可以传0个或者多个

2.3.1、*args:接收多传入的位置参数,以元祖的形式保存

def func(*args):  print(args)
func(33,44,55,66,77)func(*(33,44,55,66,77))#运行结果 
(33,44,55,66,77)(33,44,55,66,77)

*args,args接收的是一个元祖;

调用的时候可以直接传入:func(33,44,55,66,77),

也可以可以先组装list或tuple,再通过*拆包传入:func(*(33,44,55,66,77));

2.3.2、**kwargs:接收多传入的关键字参数,以字典的形式保存

def func(**kwargs):
  print(kwargs)
func(e=33,h=44,f=55,d=66,c=77)
func(**{'e':33,'h':44,'d':66,'c':77})
#运行结果
{'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}
{'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}

**kwargs,kw接收的是一个字典;

关键字参数既可以直接传入:func(11,22,e=33,h=44,f=55,d=66,c=77),

也可以先组装dict,再通过**拆包传入:func(**{'e':33,'h':44,'d':66,'c':77})。

注意点:使用*args和**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Python函数基本使用原理详解,包括了Python函数基本使用原理详解的使用技巧和注意事项,需要的朋友参考一下 1.什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用 2.为何要用函数 1、组织结构不清晰,可读性差 2、代码冗余 3、可维护性、扩展性差 3、如何用函数 1.函数的定义 定义的语法 ''' def 函数名(参数1,参数2,...)

  • 本文向大家介绍Python函数的参数常见分类与用法实例详解,包括了Python函数的参数常见分类与用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python函数的参数常见分类与用法。分享给大家供大家参考,具体如下: 1.形参与实参是什么? 形参(形式参数):指的是 在定义函数时,括号内定义的参数,形参其实就是变量名 实参(实际参数):括号内传入的值,实参其实就是变量的值 x,

  • 本文向大家介绍python中函数传参详解,包括了python中函数传参详解的使用技巧和注意事项,需要的朋友参考一下 一、参数传入规则 可变参数允许传入0个或任意个参数,在函数调用时自动组装成一个tuple; 关键字参数允许传入0个或任意个参数,在函数调用时自动组装成一个dict; 1. 传入可变参数: 以上定义函数,使用如下: 传入多个参数, 传入一个列表, 2.传入关键字参数: 同样,可以将预先

  • 本文向大家介绍python函数的5种参数详解,包括了python函数的5种参数详解的使用技巧和注意事项,需要的朋友参考一下 (1)       位置参数,调用函数时按位置传入参数 (2)       默认参数,即在函数定义时就给出参数的值,设置默认参数时要注意两点,一是必选参数在前,默认参数在后。二是把变化小的参数放在后面可作为默认参数。具有默认参数的函数被调用时可以不传入默认参数,若需要改变默认

  • 本文向大家介绍Python函数生成器原理及使用详解,包括了Python函数生成器原理及使用详解的使用技巧和注意事项,需要的朋友参考一下 1.python函数运行原理 python中函数的调用就是创建栈帧的过程,而这些创建的栈帧都是存放在堆上面,不释放就永久存在,所以我们拿到每个函数对应的栈帧,就可以调用这个函数. java就不行了,函数执行完毕,直接弹栈完蛋. 2.生成器执行原理 测试代码 看看测

  • 本文向大家介绍Python进阶-函数默认参数(详解),包括了Python进阶-函数默认参数(详解)的使用技巧和注意事项,需要的朋友参考一下 一、默认参数 python为了简化函数的调用,提供了默认参数机制: 这样在调用pow函数时,就可以省略最后一个参数不写: 在定义有默认参数的函数时,需要注意以下: 必选参数必须在前面,默认参数在后; 设置何种参数为默认参数?一般来说,将参数值变化小的设置为默认