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函数参数详解 形参与实参 什么是形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名. 什么是实参 在调用函数阶段传入的值称为实际参数,简称实参.相当于"变量值& ...
随机推荐
- 配置传统vlan间路由
S1#SH RUN spanning-tree mode pvst ! interface FastEthernet0/1 switchport access vlan 10 switchport m ...
- HDWIKI6.0后台任意文件删除/下载
- 使用Python过程中遇到的一些坑及其解决方法(持续更新)
1.列表不能直接赋值 nums1 = nums2 x nums1[:] = nums2 正确 2.返回列表某一元素的值可以使用index函数 aList = [123, 'xyz', 'runoob' ...
- XML 基本概念和XPath选择
books.xml文件 <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> ...
- C关于字符串操作的库函数实现总结
常用C关于字符串操作的库函数实现: //获取字符串长度 int Strlen(const char* s) { assert(s != NULL); ; while (*s++ != '\0') { ...
- 查找担保圈-step1-担保圈表函数
USE [test]; GO /****** Object: UserDefinedFunction [dbo].[f_findrecycle] Script Date: 2019/7/8 14:37 ...
- 使用Visual Studio 2019--调试汇编32位代码的详细步骤
声明:本文使用32位masm,代码与16位,64位不同 ------------------------------------------------------------------------ ...
- python-day29(正式学习)
目录 元类 什么是元类 为什么用元类 内置函数exec class创建类 type实现 自定义元类 _ _ call _ _ _ _ new _ _ 自定义元类控制的实例化 属性查找顺序 元类 警告! ...
- Codeforces 1221F. Choose a Square
传送门 对于某个点 $(x,y)$ ,不妨设 $x<y$ 因为如果 $x>y$ 直接按 $y=x$ 对称一下即可 当且仅当正方形左下角 $(a,a)$ 满足 $a<=x$,右上角 $ ...
- 大数据学习(1)-shell脚本注意事项
1.变量=值 (例如STR=abc) 不用加引号,但此时空格不再是空格字符,特殊字符可用于转义 2.等号两侧不能有空格 3.变量名称一般习惯为大写 4.双引号和单引号有区别,双引号仅将空格脱意,单引 ...