浅析python参数的知识点
作者:laozhang 时间:2022-12-16 01:39:32
python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”。
1、思考一个问题,如下:
现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?
In [8]: def num():
...: a=12
...: b=23
...: c=a+b
...: print(c)
为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数
2、定义带有参数的函数
In [10]: def num1(a):
....: print(a)
....: In [11]: def num2(a,b):
....: c=a+b
....: print(c)
....: In [12]: def num3(a,b,c):
....: d=a+b+c
....: print(d)
3、调用带有参数的函数
In [13]: def num2(a,b):
....: c=a+b
....: print(c)
....:
In [14]:
In [14]: num2(1,2)
3
4、缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
In [18]: def info(name,age=20):
....: print("name:",name)
....: print("age:",age)
....: In [19]: info(name='zcf')
name: zcf
age: 20
In [20]: info(age=21,name='zcf')
name: zcf
age: 21
5、缺省参数之注意:
带有默认值的参数一定要位于参数列表的最后面。
In [21]: def info(name,age=20,sex):
....: print(name)
....:
File "<ipython-input-21-099520322ee2>", line 1
def info(name,age=20,sex):
^
SyntaxError: non-default argument follows default argument
6、不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。
语法:
def functionname([formal_args,] *args,**kwargs):
function_suite
return [expression]
加入星号(*)的变量args会存放所有未命名的变量参数,args为元组;
而加**的变量kwargs 会存放命名参数,即形如key=value的参数,kwargs为字典
7、
引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?
以上内容就是关于python参数相关的知识点内容,感谢大家对脚本之家的支持。
标签:python,参数
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
基于Python实现最新房价信息的获取
2023-02-10 13:25:51
![](https://img.aspxhome.com/file/2023/2/107682_0s.gif)
Python 数据类型--集合set
2021-11-23 21:17:54
![](https://img.aspxhome.com/file/2023/4/68494_0s.png)
在keras中实现查看其训练loss值
2021-03-05 05:29:44
Django中使用session保持用户登陆连接的例子
2021-08-29 03:27:30
也谈用户体验
2009-07-15 12:56:00
Oracle 存储过程教程
2009-10-24 18:05:00
Python实现的删除重复文件或图片功能示例【去重】
2023-12-25 00:49:07
![](https://img.aspxhome.com/file/2023/6/102846_0s.png)
python实现清屏的方法
2021-11-02 04:10:32
js游戏 俄罗斯方块 源代码
2008-01-24 13:14:00
![](https://img.aspxhome.com/file/UploadPic/20081/24/200812414337986s.jpg)
© 版权符号显示不清楚解决方法
2008-02-18 14:46:00
![](https://img.aspxhome.com/file/UploadPic/20082/18/200821814557442s.jpg)
完美处理python与anaconda环境变量的冲突问题
2023-01-11 07:37:31
![](https://img.aspxhome.com/file/2023/1/97051_0s.png)
Python 根据数据模板创建shapefile的实现
2023-07-27 00:10:32
python实现用户名密码校验
2022-12-14 07:48:33
![](https://img.aspxhome.com/file/2023/4/70684_0s.jpg)
Centos 6.4 安装Python 2.7 python-pip的详细步骤
2023-12-01 10:21:03
matplotlib.pyplot画图 图片的二进制流的获取方法
2021-03-25 09:38:00
python实现单机五子棋
2021-04-26 05:34:35
![](https://img.aspxhome.com/file/2023/9/66459_0s.jpg)
python实现绘制树枝简单示例
2022-05-05 23:02:25
![](https://img.aspxhome.com/file/2023/2/82662_0s.png)
asp如何写入超长的字符串?
2010-06-09 18:53:00
Python实现获取操作系统版本信息方法
2021-10-19 04:14:14
Python新手学习标准库模块命名
2021-01-16 05:18:06