python-----函数参数类型
#函数参数类型:1 位置参数 2 默认参数 3 关键字参数 4可变参数 包裹位置参数*args 包裹关键字参数 **kargs
#参数位置顺序:先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
#位置参数----调用函数时根据函数定义的参数位置来传递参数,参数有顺序。
def test(name,age):
print('名字是 %s,年龄是%s'%(name,age))
test('lily','25')
#>>名字是 lily,年龄是25 #默认参数----为参数提供默认值,调用函数时可传,可不传该默认参数的值
def test(name,age='19'):
print('名字是 %s,年龄是%s'%(name,age))
test('lily')
#>>名字是 lily,年龄是19 #关键字参数---通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
def test(name,age):
print('名字是 %s,年龄是%s'%(name,age))
test('lily',age=9) #可变参数---包含包裹位置传递(*args)、包裹关键字传递(**kargs),可变参数特点:参数个数不限制,但args类型元组,kargs类型字典
#包裹位置传递:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型, def func(*args):
pass func()
func('a')
func('a','b','c') #包裹关键字传递:kargs是一个字典(dict),收集所有关键字参数
def func(**kargs):
pass # func(a=1)
# func(a=1, b=2, c=3) #解包裹参数 ----*和** #位置参数,默认参数,可变参数的混合使用
#基本原则是:先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
def func(name, age, sex=1, *args, **kargs):
print(name, age, sex, args, kargs) tuple1=('apple','orange')
func('tanggu', 25, 2,*tuple1,c=2,d=3)
#>>tanggu 25 2 ('apple', 'orange') {'d': 3, 'c': 2}
#实参中传递 包裹关键字形式为“=”
func('tanggu', 25, 2, 'music', 'sport',c=2,d=3)
#tanggu 25 2 ('music', 'sport') {'c': 2, 'd': 3} #如果直接定义dict 在实际参数中传递dict,注意前加**
dict1={'a': 1, 'b': 2,'c':3}
func('tanggu', 25, 2, 'music', 'sport',**dict1)
#tanggu 25 2 ('music', 'sport') {'c': 3, 'a': 1, 'b': 2}
python-----函数参数类型的更多相关文章
- Python 函数参数类型大全(非常全!!!)
Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...
- python函数参数类型及其顺序
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...
- python函数参数类型:位置参数、默认参数、动态参数、关键字参数
1.位置参数:调用函数的时候传的参数,参数默认按顺序赋值,如果是指定那个参数赋值,不关注顺序.指定参数a=1,b=2 就在函数体内a=1,b=2 2.默认参数:在定义函数的时候,给某个参数设置默认值 ...
- Python函数参数的五种类型
之前项目需求,需要通过反射获取函数的参数,python中可以通过函数签名(signature)来实现. 首先需要了解函数参数的类型,Python的参数类型一共有5种:POSITIONAL_OR_KEY ...
- Python 带参数的装饰器 [2] 函数参数类型检查
在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...
- Python函数参数学习笔记
1.Python中函数参数类型可分为五种: f(x):x为位置参数: f(x,n=2):n为默认参数,调用时可以省略参数n,如f(5); f(*args):*args表示把args这个list或tup ...
- python 函数参数介绍
python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
- python函数-参数
python函数-参数 实验室 # 演示形参是可变类型 def register(name, hobby, hobby_list=[]): hobby_list.append(hobby) print ...
- 详解Python函数参数定义及传参(必备参数、关键字参数、默认可省略参数、可变不定长参数、*args、**kwargs)
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类 Python中函数参数定义及调用函数时传参 ...
- Python函数参数详解
Python函数参数详解 形参与实参 什么是形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名. 什么是实参 在调用函数阶段传入的值称为实际参数,简称实参.相当于"变量值& ...
随机推荐
- 星云STS 常用配置
STS4 下载地址:https://spring.io/tools (这个版本没有tomcat插件) STS3 下载地址:https://spring.io/tools3/sts/all ( ...
- windows nginx配置https访问
本文主要记录在windows下安装nginx 环境:win10-64位. 1. 到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载进行解压 ...
- iOS 开发网络篇—监测网络状态
iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行 ...
- 【iCore1S 双核心板_ARM】例程十九:SD_IAP_ARM实验——更新升级STM32
实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...
- C语言 · 勾股数
勾股数 勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] ...
- c++ 类的堆成员的声明及使用
_reg = new boost::regex("aoe "); boost::regex_search(line, what, *_reg)
- SpringMVC+ Mybatis 配置多数据源 + 自动数据源切换 + 实现数据库读写分离
现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库.Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询.因为在实际的应 ...
- js 原型链和继承(转)
在理解继承之前,需要知道 js 的三个东西: 什么是 JS 原型链 this 的值到底是什么 JS 的 new 到底是干什么的 1. 什么是 JS 原型链? 我们知道 JS 有对象,比如 var ob ...
- CentOS安装和配置Nginx
1. 首先Nginx官网找到最新的稳定版本,网站地址:http://nginx.org/en/linux_packages.html#stable 在/etc/yum.repos.d 下面创建一个文件 ...
- mvc 控制器忽略某些方法
需求:登录信息验证,需要忽略登录注册这些接口的验证,通过给方法加忽略过滤器实现 1.需要忽略的方法加[IgnoreLoginFilter] 2.定义忽略过滤器 public class IgnoreL ...