python学习——函数参数
一.为什么要使用函数
函数能提高应用的模块性,和代码的重复利用率。
二.函数的参数
位置参数:从左至右进行匹配
一般情况,也就是我们迄今为止最常用的方法,是通过位置进行匹配把参数值传递给函数头部的参数名称,匹配顺序从左至右。
关键字参数:通过参数名进行匹配
调用者可以定义哪一个函数接受这个值,通过在调用时使用参数的变量名,使用name=value这种语法。
默认参数:为没有传入值的参数定义参数值
如果调用时传入的值过少的话,函数能为参数定义接受的默认值,再一次使用语法name=value
可变参数:收集任意多基于位置或关键字的参数
函数能够使用特定的参数,他们是以*开头,收集任意多的额外参数(这个特征性 常常叫做可变参数)
可变参数解包:传递任意多的基于位置或关键字的参数
调用者能够使用*语法将参数集合打散,分成参数。这个“*”与在函数头部的“*”恰恰相反:在函数头部他意味着收集任意多的参数,而在调用者中意味 着传递任意多的参数
KeyWord-only参数:参数必须按照名称传递
函数可以指定参数,参数必须用带有关键字参数的名字来传递。这样的参数通常用来定义实际参数 以外的配置选项。
"""参数匹配语法""" # 对于调用者来说:
func(value) # 位置参数:通过位置进行匹配
func(name=value) # 关键字参数:通过变量名匹配
func(*sequence) # 将参数集合解包,作为独立的位置,或关键字参数传入函数
func(**dict) # 将成对存在的关键字/值,并作为独立的关键字参数传入函数 # 对于函数定义来说
def func(name) # 位置参数:通过位置或变量名进行匹配
def func(name=value)# 默认参数
def func(*name) # 匹配并收集(在元组中)所包含位置的参数
def func(**name) # 匹配并收集(在字典中)所包含位置的参数
def func(*args, name)# 参数必须在调用中按照关键字传递 """ 在函数调用中,简单的通过变量名位置进行匹配,但是使用name=value的形式
告诉python依照变量名进行匹配,这叫做关键字参数。在调用*sequence或者
**dict允许我们在一个序列或字典中相应的封装任意多的位置相关或关键字的对象
并且在将他们传递给函数的时候,将他们解包为分开的单个的参数
"""
"""
在函数定义的时候,一个简单的变量名是通过位置或变量名进行匹配的(取决于调用者如何传递参数)
但是name=value的形式定义了默认的参数值。*name的形式收集了任意的额外不匹配的参数到元组中,
并且**name的形式将会收集额外的关键字参数到字典中。python3之后跟在*name或者一个单独的*之后
的任何正式的或默认的参数名称,都是Keyword-only参数,并且必须在调用中按照关键字传递
"""
"""
在函数调用中,参数必须以此顺序出现:任何位置参数,紧跟着任何关键字参数和*sequence形式的组合,后面跟**dict
在函数定义时,参数必须以此顺序出现:一般参数,紧跟着任何默认参数,如果有的话后面是*name(或者*)的形式后面跟着name或者name=value,后面跟着**name
"""
python学习——函数参数的更多相关文章
- (转)python中函数参数中如果带有默认参数list的特殊情况
在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]): for i in range(x): ...
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
- Python基础-函数参数
Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...
- Python学习-函数,函数参数,作用域
一.函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 我们已经知道python提供了许多内建函数,print(), type()等.我们也可以自己创建函数,这被叫 ...
- python学习——函数及其参数
函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.严格来说python只有函数,没有过程,人们理解的函数都是带有return的,而过程 ...
- python学习-函数和lambda表达式(五)
5.2函数参数 位置参数:根据位置传入参数 关键字参数:根据参数名来传入参数 def girth(width, height): print("width:", width) pr ...
- 第5.2节 Python的函数参数收集
函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...
- Python之函数&参数&参数解构
1.1函数定义 def 函数名(参数列表): 函数体(代码块) [return 返回值] p 函数名就是标识符,命名要求一样 语句块必须缩进,约定4个空格 Python的函数没有return语句,隐式 ...
- python学习——函数进阶
首先来看下面这个函数. def func(x,y): bigger = x if x > y else y return bigger ret = func(10,20) print(ret) ...
随机推荐
- 多线程与高并发(五)final关键字
final可以修饰变量,方法和类,也就是final使用范围基本涵盖了java每个地方,我们先依次学习final的基础用法,然后再研究final关键字在多线程中的语义. 一.变量 变量,可以分为成员变量 ...
- Git初步配置 ubuntu服务器 windows客户端 虚拟机
最近自己配置了一下Git,虽然网上相关的内容满天飞(ps:大多都差不多,很多都是直接转载,说的也比较乱),但是我还是碰到了很多问题,这里我就把我配置的步骤分享一下,遇到的问题也说一下,新手之间相互学习 ...
- linux初学者-磁盘分区方式篇
linux初学者-磁盘分区方式篇 一般的计算机都会采用mbr分区方式,这种分区方式只能够建立四个主分区,如果还需要或更多的分区,就需要将其中一个主分区建立成一个扩展分区,在里面建立逻辑分区,这些分区信 ...
- 面试中的 ThreadLocal 原理和使用场景
相信大家不管是在网上做题还是在面试中都经常被问过 ThreadLocal 的原理和用法,虽然一直知道这个东西的存在但是一直没有好好的研究一下原理,没有自己的知识体系.今天花点时间好好学习了一下,分享给 ...
- [ PyQt入门教程 ] PyQt5环境搭建和配置
PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...
- Linux基础之定时任务
30.1)什么是定时任务 定时任务命令是cond,crond就是计划任务,类似于我们平时生活中的闹钟,定点执行. 30.2)为什么要用crond 计划任务主要是做一些周期性的任务,比如凌晨3点定时备份 ...
- Pivotal:15分钟部署你的应用
“ 本篇文章介绍的是PaaS平台Pivotal Cloud Foundry(以下简称PCF)的初步使用,相比于传统的IaaS平台(比如阿里云),PCF可实现快速迭代开发与部署,让您专注于业务开发.” ...
- javaweb入门-----request与response的作用
request对象和request对象的原理 1.request和response对象request对象和request对象的原理时由服务器创建的,我们来使用它们 2.request对象是来获取请求消 ...
- 使用钉钉对接禅道的bug系统,实现禅道提的bug实时在钉钉提醒并艾特对应的开发人员处理
现在公司测试中有一个痛点是每次测试人员提完bug后,需要定期去提醒开发人员查看禅道的bug记录及修复bug. 导致测试人员在项目测试中不仅要测试整个软件,还要负起实时监督提醒功能的“保姆角色”,身心疲 ...
- ue4使用SceneCapture2D创建小地图示例 蓝图
做C++项目的时候遇到了一个小地图的问题,从网上找了个蓝图的思路,转载一下. 原文:https://www.engineworld.cn/thread-3835-1-1.html 本文使用ue4提供的 ...