Python函数参数类型及其用法

1. 必须参数

2. 默认参数

3. 不定长参数

4. 关键字参数

5. 组合参数

函数的参数类型可分为:必须参数、默认参数、可变参数(不定长参数)、关键字参数、组合参数,总共5种。

1. 必须参数

def hello(str):

print('必须参数是:',str)

>>>hello('hello,world')

2. 默认参数

默认参数就是定义函数时,形参给定一个值。

def hs(name,age=23):

print('我叫:',name)

print('我今年',age)

>>>hs('王二',23)

调用的时候注意顺序要正确。

3. 不定长参数

def change(age,*som):

print(age)

for i in som:

print(i)

return

>>>change('name','year','mon','address')

前面必须参数和默认参数依次取值后剩下的就是不定长参数的值。不定长参数得到的是一个元组类型。

[示例1]

dir={'name': 'miss', 'age': '18'}

def Deaf(school, banji, *other):

print('Xuexiao:', school, 'Banji:', banji, 'Student_info:', other)

Deaf('Tsinghua', 'Class 2', *dir)

>>> Xuexiao: Tsinghua Banji: Class 2 Student_info: ('name', 'age')

当形参中有不定长参数 *other,调用函数时用 *dir会发现结果是只有字典中键名,没有值!

[示例2]

dir={'name': 'miss', 'age': '18'}

def Deaf(school, banji, *other):

print('Xuexiao:', school, 'Banji:', banji, 'Student_info:', other)

Deaf('Tsinghua', 'Class 2', dir)

>>> Xuexiao: Tsinghua Banji: Class 2 Student_info: ({'name': 'miss', 'age': '18'},)

当形参有不定长参数 *other ,调用函数时用 dir 但其结果是 将字典 以元组的形式输出,既在字典外面加括号。

4. 关键字参数

其实默认参数中已经出现了关键字参数!关键字参数就是在调用函数时,传入实参时带参数名,用这样的方式传入的实参叫做关键字参数。

def Deaf(school, banji, **other):

print('学校 :', school, '班级:', banji, '学生信息:', other)

Deaf("清华", '大二', key=255 ,**dir)

>>>学校 : 清华 班级: 大二 学生信息: {'key': 255, 'name': 'miss', 'age': '18'}

5. 组合参数

组合参数就是将之前讲过的4中参数同时引入函数作为形参,值得注意的是,定义参数时的顺序必须为:必须参数、关键字参数、默认参数、不定长参数。

举个栗子:

xx = {'name': 'xiaozhi', 'age': '18', 'interesting': 'basketball'}

tu = (1, 2, 3, 4, 5, 6)

zd = {'m': 26, 'n': 25}

def hs(a1, a2, a3=10, *a4, **cs):

print('a1=', a1, 'a2=', a2, 'a3=', a3, 'a4a=', a4, cs)

# first

>> hs(1, 2, 3, 4, 5, 6, 7, m=26, n=25, **xx)

a1= 1 a2= 2 a3= 3 a4a= (4, 5, 6, 7) {'m': 26, 'n': 25, 'name': 'xiaozhi', 'age': '18', 'interesting': 'basketball'}

调用函数时,1、2分别给a1,a2,形参a3=10,但是传入实参为3,改变了原来的值,因此a3=3,*a4 是不定长参数,因此4、5、6、7给*a4,因此a4a是多个值,以元组的形式输出,**cs为关键字参数,所以m、n以及**xx 的值给**cs,以字典形式输出

>> hs(*tu, **zd)

a1= 1 a2= 2 a3= 3 a4a= (4, 5, 6) {'m': 26, 'n': 25}

调用函数时,tu为一个元组,调用时用*tu方法,因此a1=1,a2=2,a3=3,a4a=(4,5,6);用**zd调用时以字典形式输出。

python函数参数用法_Python:函数参数类型及其用法相关推荐

  1. python函数参数列表_python函数列表

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python函数函数是python里组织代码的最小单元,python函数包含以下 ...

  2. python函数定义中参数列表里的参数是_python函数参数中的/和*是什么意思?

    在python3.8之后函数参数中允许出现/和*号,/用来指明某些函数形参必须使用位置参数而非关键字参数的形式,*出现在函数参数中第一种含义可以表示为可变参数,一般写作*args:对于单独出现在参数中 ...

  3. python函数参数学习_python函数学习1

    函数1 (1)定义: def 函数名(参数列表) 函数体 (2)参数传递: 在python中,一切都是对象,类型也属于对象,变量是没有类型的. a = [1,2,3] a = "hellow ...

  4. python函数参数定义_Python函数定义及参数详解

    函数定义 首先我们来创建一个函数,输出指定范围内的斐波拉契数列(Fibonacci series). #!/usr/bin/env python #coding=utf-8 ''' Created o ...

  5. python函数参数定义_python函数定义中的5种参数

    python函数参数定义 Python函数定义中的5种参数类型: (5 Types of Arguments in Python Function Definition:) default argum ...

  6. python函数参数列表_python函数的列表参数传递

    今天看书的时候发现对python函数的参数传递不是很了解,于是上网查询了一下资料.首先,看一下以下的代码: def default_para_trap(para=[],value=0): para.a ...

  7. c python 传参数 数组_python函数传递数组参数吗

    函数是任何一门编程语言都不可缺少的,而且也是非常重要的一部分.Python中函数的参数,可以分为以下几类: 位置参数,有时也称必备参数,指的是必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数 ...

  8. python所有函数用法_python函数用法总结

    空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码 ...

  9. python所有函数用法_Python函数使用方法(高级用法)

    前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项.但是,Python 函数的用法还远不止此,Python 函数还支持赋值.作为其他函数的参数以及作为其他函数的返回值. 首先,Pyt ...

  10. python用来查看变量类型的函数是什么_python查看变量类型的函数

    怎么查看变量的类型 python方法如下: type(变量),输出的结果就是变量的类型: 在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的: 也就是说变量的类型,根据给出的 ...

最新文章

  1. ENTBOOST V1.0 发布,开源企业IM免费企业即时通讯
  2. 巨头间未来战争-丰收节交易会·万祥军:农业AI发展概况
  3. 反恐精英代码_反恐精英20周年,为什么沙漠2(dust2)地图玩家们一直玩不腻?...
  4. html实现3d视觉特效
  5. 2560x1600分辨率高吗_做设计还弄不清分辨率和像素之间的关系,来了解下他们是怎么换算...
  6. Bootstrap学习笔记01
  7. Python 问题 unindent does not match any outer indentation level 在 pycharm 平台的解决方法
  8. mysql无损复制_MySQL无损复制(转)
  9. XML学习笔记(三)
  10. mysql交互式查询_客户机程序5―MYSQL交互式查询程序[图]_MySQL
  11. 算法测试例子特殊输入形式
  12. 人生定位 读后感(1)
  13. 关于汽车人转型,“正能量”故事看腻了,今天来一篇“负能量”的
  14. win 7计算机图标变了,win7系统桌面图标变成一样的解决方法
  15. ASUS ROG G20 刷新BIOS
  16. 使用HLS协议连接nginx实现近实时流方式播放视频
  17. Google的搜索来源分布跟踪解读:GGGL与GGLD,sourceid和client,rlz,rls等
  18. 7号球衣的故事:重要的不是号码,而是穿着它的人
  19. 如何基于DEM高程数据提取生成等高线的教程
  20. wireshark解析信令tshark

热门文章

  1. 记一次KAFKA TroubleShooting
  2. 数据中心安全及应对策略
  3. PowerShell 使用当前日期创建文件夹
  4. CCIE学习笔记 2---BGP选路(属性值)
  5. Sql Server 全文检索
  6. 将两个数组河滨_【探索】苏州河两岸将新增12公顷公园绿地,四季皆有景
  7. SprinMVC 拦截器验证权限和登录与注销的实现
  8. php网页制作头部和尾部,用phpcms如何将静态页面制作成企业网站,头部加尾部
  9. mybatis将字段改为null_【MyBatis入门到入土精讲】MyBatis介绍
  10. 博图中fb与多重背景数据块_STEP7中如何生成和更新多重背景?