浅析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中 ? : 三元表达式的使用介绍
Oct 09 Python
详解Python程序与服务器连接的WSGI接口
Apr 29 Python
Python与R语言的简要对比
Nov 14 Python
Python 12306抢火车票脚本
Feb 07 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
python 中字典嵌套列表的方法
Jul 03 Python
详解Python下Flask-ApScheduler快速指南
Nov 04 Python
python实现对输入的密文加密
Mar 20 Python
Python中字符串List按照长度排序
Jul 01 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
Python中相见恨晚的技巧
Apr 13 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
Zend Guard一些常见问题解答
2008/09/11 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
python更新列表的方法
2015/07/28 Python
Python提取网页中超链接的方法
2016/09/18 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
python文件写入write()的操作
2019/05/14 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
幼儿园教学随笔感言
2014/02/23 职场文书
技术股东合作协议书
2014/12/02 职场文书
离职感谢信
2015/01/21 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
大学军训通讯稿
2015/07/18 职场文书