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) ...
随机推荐
- random,time,sys,os
import random print(random.random()) #(0,1)大于0且小于1之间的小数 print(random.randint(1,3)) #大于等于1且小于等于3之间的整数 ...
- 在工作中常用的Linux命令
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 之前写过一篇 < 在公司做的项目和自己在学校做 ...
- 搭建python环境
参考文章:https://blog.csdn.net/qq_33855133/article/details/73106176 对于配置环境变量,懂些技术的人来说,都是很简单. 变量是在操作系统中一个 ...
- lr参数化
为什么做参数化? 数据库校验:注册用户时会看数据库有没有这个账号 应用程序校验:pc端qq登陆,一个账号只能登陆一台电脑 1.数据库或应用程序提交值的唯一性校验 数据库查询过程: 1.语法检查.语义检 ...
- kubernetes 1.15.1 高可用部署 -- 从零开始
这是一本书!!! 一本写我在容器生态圈的所学!!! 重点先知: 1. centos 7.6安装优化 2. k8s 1.15.1 高可用部署 3. 网络插件calico 4. dashboard 插件 ...
- 关于引入js文件乱码的问题
对于大多数的web页面,我们一般都是使用如下两种编码:UTF-8.GB2312.所以我们只需要同意页面和js编码就可以解决乱码问题: 对于GBK页面引用编码为UTF-8编码的JavaScript文件如 ...
- Docker 容器高级操作[Docker 系列-3]
关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料. 上篇文章向读者介绍了一个 Nginx 的例子,对于 Nginx 这样一个容器而言,当它启动成功后,我们 ...
- 安装MySQL5.7 安装环境:CentOS7 64位 MINI版,
安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...
- Jmeter 接口测试参数处理
问题: 一.签名参数sign算法由文字描述,算法需自己编写 二. 参数param_json为变化的json串(json串内订单号唯一) 解决: 一. 签名sign: 1. 手动拼接后在https:// ...
- 从boosting谈起
Boosting 将一些表现效果一般(可能仅仅优于随机猜测)的模型通过特定方法进行组合来获得一个表现效果较好的模型.抽象地说,模型的训练过程是对一任意可导目标函数的优化过程. Adaptive boo ...