一、函数的创建

如图所示

二、函数的参数传递

函数调用的参数传递
位置实参:
根据形式参数对应的位置进行实际参数的传递

关键字实参
根据形式参数名称进行实际参数传递

结论:
如果是不可变对象,在函数体的修改不会影响到实际参数的值,arg1的修改为100,不会影响到n1的值
如果是可变对象,在函数体内的修改回影响到实际参数的值,arg2的修改,append(10),回影响到n2的值

三、函数的参数定义:

1、函数定义默认值参数
函数定义时,给形式参数设置默认值,只有与默认值不符合的时候才需要传递实参。

例如:

只传一个参数,b采用默认值

传2个参数,2将默认值10替换
2、个数可变的位置形式参数
-定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置形式参数
-使用*定义个数可变的位置参数
-结果为一个元组

3、个数可变的关键字形式参数
-定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参
-使用**定义个数可变的关键字形参
-结果为一个字典
-
4、错误的位置形式参数定义、错误的关键字形式参数定义

def fun2(*args,*a):
pass
以上代码,程序会报错,个数可变的位置参数,只能为1个

def fun2(**args,**a):
pass
以上代码,程序会报错,个数可变的关键字参数,只能为1个

在一个函数的定义过程中,既有个数可变的关键字形式参数,也有个数可变的位置参数,
要求个数可变的位置参数,放在个数可变的关键字参数之前
def fun(*args,**kwargs):
pass

四、函数的调用


在函数调用时,将列表(元组、集合)中的每一个元素都转换为位置实参传入;
在函数调用时,将字典中的键值对都转化为关键字实参传入;
例题:

需求:c和d只能采用关键字实参传递

从✳号之后的参数,在函数调用时,只能采用关键字参数传递,将*称为关键字警察

python_函数相关的各种参数定义和传递相关推荐

  1. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  2. Python中函数的参数定义和可变参数

    刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函 ...

  3. [你必须知道的.NET]第十二回:参数之惑---传递的艺术(下)

    本文将介绍以下内容: 按值传递与按引用传递深论 ref和out比较 参数应用浅析 接上篇继续,『第十一回:参数之惑---传递的艺术(上)』 4.2 引用类型参数的按值传递 当传递的参数为引用类型时,传 ...

  4. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  5. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  6. python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...

    本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...

  7. Mybatis配置文件参数定义

    官网有时候进不去,所以就记录一下Mybatis的配置文件的各项参数定义,大家也可以上官网查询,官方文档,进不进的去看各自的缘分了 properties 定义配置,在这里配置的属性可以在整个配置文件使用 ...

  8. python可变参数函数二阶导数公式_Python中函数的参数定义和可变参数

    刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函 ...

  9. python中函数的可变参数_Python中函数的参数定义和可变参数

    转自:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944416.html 刚学用Python的时候,特别是看一些库的源码时,经常会看到fun ...

最新文章

  1. linux进程间通信:FIFO应用 /var/log/ 系统日志的模拟实现
  2. 洛谷—— P1869 愚蠢的组合数
  3. laravel进阶系列--通过事件和事件监听实现服务解耦
  4. web python pkcs11_使用pkcs11模块用公钥加密数据失败
  5. FileNotFoundError: [Errno 2] No such file or directory: 'traingingDigits/0_0.txt'
  6. Spring BeanFactory 容器
  7. 【Django】django使用原生SQL的方法(附加说说为什么ORM上不了大台面)
  8. c语言基本数据类型常量,C语言基础学习基本数据类型-变量和常量
  9. 日本富士通正考虑将PC业务并入联想
  10. 【Python】 is, is not ,==, != 的区别
  11. 中国高性能计算服务器排名,2007中国高性能计算100强出炉
  12. server2012卸载oracle,Windows Server 2008 R2卸载干净ORACLE 11G
  13. python删除数据框中的字符串列_如何根据条件删除pandas数据框中的列?
  14. Google Earth Engine(GEE)统计制图
  15. Qcom平台测试wifi TIS需要关闭wifi扫描、漫游和休眠
  16. 树莓派3B+安装CentOS 7
  17. 【迭代式开发】V1软件需求规格说明书——大数据开发实战项目(二)
  18. 服务器搭建微信会员卡系统,小程序里做会员系统
  19. 计算机量子化学计算中HF单位,21世纪高等院校教材·量子化学基础
  20. java借助Robot给微信好友自动发消息(可发送表情包)

热门文章

  1. BODY background=自适应大小_自适应(电脑/平板/手机)网页,自适应网页设计练习总结...
  2. Gartner:基础设施和运营领域10大技术趋势
  3. 企业选择数据中心的建议
  4. 独立按键控制数码管c语言,各位大佬,独立按键控制数码管为什么按下的时候要加一呢?...
  5. php xml 增删改查,PHP实现对xml进行简单的增删改查(CRUD)操作示例
  6. 成功解决OSError: [Errno 28] No space left on device
  7. Python:Python语言编程软件安装的几大姿势之详细攻略
  8. ML之FE:基于FE特征工程对RentListingInquries数据集进行预处理并导出为三种格式文件(csv格式/txt格式/libsvm稀疏txt格式)
  9. ML之回归预测:利用九大类机器学习算法对无人驾驶汽车系统参数(2018年的data,18+2)进行回归预测值VS真实值
  10. AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典、建议收藏)之详细攻略