浅析python参数的知识点


Posted in Python onDecember 10, 2018

python之参数,定义时小括号中的参数,用来接收参数用的,称为 “形参”

调用时小括号中的参数,用来传递给函数用的,称为 “实参”。

1、思考一个问题,如下:

现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?

In [8]: def num():

 ...:  a=12 

 ...:  b=23

 ...:  c=a+b

 ...:  print(c)

为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数

浅析python参数的知识点

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)

浅析python参数的知识点

3、调用带有参数的函数

In [13]: def num2(a,b):

 ....:  c=a+b

 ....:  print(c)

 ....:  

In [14]: 

In [14]: num2(1,2)

3

浅析python参数的知识点

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

浅析python参数的知识点

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

浅析python参数的知识点

6、不定长参数

有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。

语法:

def functionname([formal_args,] *args,**kwargs):

  function_suite

  return [expression]

加入星号(*)的变量args会存放所有未命名的变量参数,args为元组;

而加**的变量kwargs 会存放命名参数,即形如key=value的参数,kwargs为字典

浅析python参数的知识点

浅析python参数的知识点

浅析python参数的知识点

7、

引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
引用传参可变类型与不可变类型的变量分别作为函数参数时,会有什么不同吗?Python有没有类似C语言中的指针传参呢?

以上内容就是关于python参数相关的知识点内容,感谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中用Spark模块的使用教程
Apr 13 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
python3中的md5加密实例
May 29 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
如何通过python的fabric包完成代码上传部署
Jul 29 Python
python中调试或排错的五种方法示例
Sep 12 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
django 多数据库及分库实现方式
Apr 01 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
python操作yaml说明
Apr 08 Python
Flask框架web开发之零基础入门
Dec 10 #Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
Dec 10 #Python
Python操作Excel插入删除行的方法
Dec 10 #Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
Dec 10 #Python
使用pandas实现csv/excel sheet互相转换的方法
Dec 10 #Python
python得到一个excel的全部sheet标签值方法
Dec 10 #Python
解决pandas .to_excel不覆盖已有sheet的问题
Dec 10 #Python
You might like
php 保留字列表
2012/10/04 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
连接Python程序与MySQL的教程
2015/04/29 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Django实现分页功能
2018/07/02 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
Python几种常见算法汇总
2020/06/02 Python
详解Python IO编程
2020/07/24 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
学习自我鉴定
2014/02/01 职场文书
英语教师岗位职责
2014/03/16 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
2016年离婚协议书范文
2016/03/18 职场文书