浅析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之永远强大的函数
Sep 14 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python简单的制作图片验证码实例
May 31 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
python移位运算的实现
Jul 15 Python
python爬虫之爬取百度音乐的实现方法
Aug 24 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 Python
Python几种常见算法汇总
Jun 02 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 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 date函数参数详解
2006/11/27 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
php解决安全问题的方法实例
2019/09/19 PHP
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
javascript中的隐式调用
2018/02/10 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
vue-router history模式下的微信分享小结
2018/07/05 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python 显示数组全部元素的方法
2018/04/19 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
在keras中实现查看其训练loss值
2020/06/16 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
预备党员思想汇报
2014/01/08 职场文书
爱之链教学反思
2014/04/30 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB