Python---函数参数---王伟
#定义函数
def function():
print("hello world")
#调用函数
function()
hello world
```
#1.函数参数类型:实参、形参和无参数
#2.实参:函数调用时候参数,实参可以传递任意类型的对象
#3.形参:函数定义时的参数名,没有实际意义
print("%s"%self)
function("hello world")
#"hello world"为实参,self为形参
hello world
```
#1.位置参数:调用函数时根据函数定义的参数位置来传递参数
#2.调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致
#3.实参和形参数量必须一致
def function(a,b):
result = a + b
print(result)
function(10,20)
30
```
#1.不按照形参定义的顺序去传递,而直接根据参数名去传递参数
#2.关键字参数可以按照不同顺序排序
#3.实参和形参数量必须一致
def function(a,b,c):
result = a + b + c
print(result)
function(c=10,a=5,b=15)
30
```
#1.为参数提供默认值,调用函数时可传可不传该默认参数的值,传入参数会代替默认值
#2.默认值参数必须放在没有默认值参数之后
print("名字是:%s,性别是:%s"%(name,sex))
function("zahng")#没有指定sex,会使用默认值boy
function("zhang","girl")#指定sex,使用指定的参数girl
名字是:zahng,性别是:boy
名字是:zhang,性别是:girl
```
#1.在定义函数时,可以在形参前边加上一个*,这样这个形参将会获取到所有的实参(位置参数)(args可以为其他str,通常使用*args)
#2.将所有的实参保存到一个元组中
#3.带*的形参只能有一个,可以和其他参数配合使用,只能接收位置参数,而不能接收关键字参数
#4.不定长参数(*args)不是必须写在最后,若果写在其他形参之前,不定长参数(*args)后的所有参数,必须关键字参数跟随在位置参数后面,以关键字参数的形式传递
#5.如果在形参的开头直接写一个*,则要求我们的所有的参数必须以关键字参数的形式传递
def function(a,b,*args):
print(a,b,args)
function(2,3,4,5,6,7,8,9)
#输出结果
2 3 (4, 5, 6, 7, 8, 9)
print(a,b,args)
function(4,5,6,7,8,9,a=2,b=3)#a,b形参,必须要以关键字参数传递
#输出结果
2 3 (4, 5, 6, 7, 8, 9)
def function(*,a,b):
print(a,b)
function(a=2,b=3)
#输出结果
2,3
```
#1.在定义函数时,可以在形参前边加上2个**,这样这个形参将会获取到所有的关键字(args可以为其他str,通常使用*args)
#2.**形参可以接收关键字参数,它会将这些参数统一保存到一个字典中,字典的key就是参数的名字,字典的value就是参数的值
#3.**形参只能有一个,并且必须写在所有参数的最后
print(a,b,kwargs)
function(a=1,b="qaq",c=4,d="qwer",e=5)
1 qaq {'c': 4, 'd': 'qwer', 'e': 5}
```
#位置顺序:位置参数、默认参数、关键字参数、不定长参数
def function(a,b=10,*args,**kwargs):
print(a,b,args,kwargs)
function(2,12,32,"aa",name="kimi",age=8)
```
Python---函数参数---王伟的更多相关文章
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- python函数参数的pack与unpack
python函数参数的pack与unpack 上周在使用django做开发的时候用到了mixin(关于mixin我还要写一个博客专门讨论一下,现在请参见这里),其中又涉及到了一个关于函数参数打包(pa ...
- Python 关于Python函数参数传递方式的一点探索
关于Python函数参数传递方式的一点探索 by:授客 QQ:1033553122 实践代码 #!/usr/bin/env python # -*- coding:utf-8 -*- __author ...
- python 函数参数介绍
python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
- python函数参数类型及其顺序
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...
- Python 函数参数类型大全(非常全!!!)
Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...
- Python函数参数默认值的陷阱和原理深究(转)
add by zhj: 在Python文档中清楚的说明了默认参数是怎么工作的,如下 "Default parameter values are evaluated when the func ...
- python函数-参数
python函数-参数 实验室 # 演示形参是可变类型 def register(name, hobby, hobby_list=[]): hobby_list.append(hobby) print ...
- 详解Python函数参数定义及传参(必备参数、关键字参数、默认可省略参数、可变不定长参数、*args、**kwargs)
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类 Python中函数参数定义及调用函数时传参 ...
- Python函数参数详解
Python函数参数详解 形参与实参 什么是形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名. 什么是实参 在调用函数阶段传入的值称为实际参数,简称实参.相当于"变量值& ...
随机推荐
- 客户端数据存储cookie、localStoeage、sessionStorage(小记)
一.数据存储分为客户端存储和服务端存储 1.而对于客户端存储,在html5以前只能通过cookie来实现:html 5以后增加了web存储(实际保存本地)的功能 (1)对于web存储有两个标准: ...
- spring5源码分析系列(二)——spring核心容器体系结构
首先我们来认识下IOC和DI: IOC(Inversion of Control)控制反转:控制反转,就是把原先代码里面需要实现的对象创建.依赖的代码,反转给容器来帮忙实现.所以需要创建一个容器,并且 ...
- ioctl接口内容操作
int ioctl( int fd, int request, .../* void *arg */ ) 详解 第三个参数总是一个指针,但指针的类型依赖于request 参数.我们可以把和网络相关的请 ...
- hdfs基本文件操作
编程实现下列要求: 1.创建一个自己姓名首字母的文件夹 2.在文件夹下创建一个hdfstext1.txt文件,项文件内输入“班级学号姓名HDFS课堂测试”的文字内容: 3.在文件夹下在创建一个好的fs ...
- c++ split(getline实现)
众所周知 c++中string没有自带的split函数(亏你还是老大哥) 网上关于split函数的优秀写法很多 本人不再赘述 今几日翻C++API时发现了getline一个有趣的方法 istream& ...
- MyBatis清空数据库表数据
<update id="truncateTable"> truncate table ${tableName} </update> <update i ...
- python基础面试题(全网最全!)
目录 1.为什么学习Python? 2.通过什么途径学习的Python? 3.Python和Java.PHP.C.C#.C++等其他语言的对比? 4.简述解释型和编译型编程语言? 5.Python解释 ...
- 调用webService学习小结
这段时间项目进行到了最后时刻,但是还有很多需求没有搞清楚,眼看deadline越来越近,压力也越来越大.现在我的主要工作是将别人开发好的一个系统给加载到我们系统中,使用的方法是通过webService ...
- Redis分布式之前篇
第一篇:初识Redis 一.Redis是什么? Redis 是一个开源(BSD许可)的,使用ANSI C语言编写的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据 ...
- Nginx之常用操作
1) 将XXX.com 重定向到 www.XXX.com server { client_max_body_size 20m; listen ; server_name www.xxx.com xxx ...