Python学习记录3-函数参数详解
参数详解
- 参数分类
- 普通参数
- 默认参数
- 关键字参数
- 收集参数
- 普通参数
- 定义时直接定义变量名
- 调用的时候直接把变量或者值放入指定位置
def 函数名 (参数1, 参数2, ....):
函数体
# 调用
函数名 (value1, value2, ....)
# 调用的时候,具体值参考的是位置,按位置赋值
- 默认参数
- 形参带有默认值
- 调用的时候,如果没有对相应形参赋值,则使用默认值
def func_name(p1=v1, p2=v2, ....):
func_block
#调用1
func_name()
#调用2
value1 = 100
value2 = 200
func_name(value1,value2)
# 默认参数实例
# 根据性别输出不同语句
>>> def reg(name, age, gender="male"):
if gender == "male":
print("{0} is {1},and he is a boy".format(name,age))
else:
print("{0} is {1},and she is a girl".format(name,age))
>>> reg("小明", 21) #第三个参数gender没有值,所以用的是默认值male
>>> reg("小红", 22, "female") #第三个参数有值,所以用的输入的值female
输出:
小明 is 21,and he is a boy
小红 is 22,and she is a girl
- 关键字参数
- 语法
- 比较麻烦,但也有好处:
- 不容易混淆,一般实参和形参只是按照位置一一对应即可,容易出错
- 使用关键字参数,可以不考虑参数位置
def func(p1=v1, p2=v2,... ):
func_body
调用函数:
func(p1=value1, p2=value2,....)
# 关键字参数案例
>>> def stu(name, age, addr):
print("I am a Student")
print("我是{0},我今年{1}岁了,我住在{2}".format(name, age, addr))
n = "哈哈"
a = 20
addr = "地球"
# 普通参数,只按照位置传递,容易出错
stu(a, n, addr)
>>> def stu_key(name, age, addr):
print("I am a Student")
print("我是{0},我今年{1}岁了,我住在{2}".format(name, age, addr))
>>> n = "嘻嘻"
>>> a = 20
>>> addr = "地球"
# 关键字参数,可以不按函数定义时参数的顺序
>>> stu_key(age=a, name=n, addr=addr)
输出:
I am a Student
我是嘻嘻,我今年20岁了,我住在地球
总结
国庆假期不知不觉就过完了,今天是国庆后上班的第一天,回家过的这几天也是非常舒服,出来这么久还是感觉家里好。节后第一天上班,要整理的东西也是比较的多,但是为了坚持学习,还是对一些知识点进行了总结和复习,我也会继续努力!
Python学习记录3-函数参数详解的更多相关文章
- Python函数参数详解
Python函数参数详解 形参与实参 什么是形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名. 什么是实参 在调用函数阶段传入的值称为实际参数,简称实参.相当于"变量值& ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- PHP date函数参数详解
PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载 time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计 ...
- Python学习一:序列基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:moyi@moyib ...
- Go语言Slice作为函数参数详解
Go语言Slice作为函数参数详解 前言 首先要明确Go语言中实质只有值传递,引用传递和指针传递是相对于参数类型来说. 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值 ...
- 【集成学习】sklearn中xgboot模块中fit函数参数详解(fit model for train data)
参数解释,后续补上. # -*- coding: utf-8 -*- """ ############################################## ...
- python中os模块函数方法详解最全最新
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) os.chdir("dirname") 改 ...
- 菜鸟学习-C语言函数参数传递详解-结构体与数组 分类: C/C++ Nginx 2015-07-14 10:24 89人阅读 评论(0) 收藏
C语言中结构体作为函数参数,有两种方式:传值和传址. 1.传值时结构体参数会被拷贝一份,在函数体内修改结构体参数成员的值实际上是修改调用参数的一个临时拷贝的成员的值,这不会影响到调用参数.在这种情况下 ...
- Python3学习笔记(十一):函数参数详解
一.位置参数 根据参数的位置来传递参数,调用函数时,传递的参数顺序和个数必须和定义时完全一致 # 定义函数 def man(name, age): print("My name is %s, ...
随机推荐
- spring常用模式--委派模式
1.委派模式简介 在常用的23种设计模式中其实面没有委派模式(delegate)的影子,但是在Spring中委派模式确实用的比较多的一种模式. 在spring中的体现:Spring MVC框架中的Di ...
- 使用redisTemplate存储数据,出现\xAC\xED\x00\x05t\x00
本文开发环境:SpringBoot+RedisTemplate 代码: /** * 缓存Map * * @param key * @param dataMap * @return */ @Overri ...
- js 基本类型与引用类型的存储
js的变量类型分为基本数据类型和引用数据类型 7种基本数据类型:null, undefined, number, boolean, string(大多数语言中string属于引用数据类型,而在js中它 ...
- JQ也要面向对象~在JQ中扩展静态方法和实例方法(jq扩展方法)
JQ也要面向对象,事实上,无论哪种开发语言,在开发功能时,都要把面向对象拿出来,用它的思想去干事,去理解事,面向对象会使问题简单化,清晰化,今天说两个概念“静态方法”与“实现方法”,这个在面向对象的语 ...
- 深入理解Attention机制
要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder框架,因为目前大多数注意力模型附着在Encoder-Decoder框架下,当然,其实注意力模型可以看作一种通用的思想,本身并不依 ...
- 福昕PDF电子文档处理套装软件中文企业版9.01
下载地址:http://zbh.ustc.edu.cn/msiso/FoxitPDFEditor901_ZH_Setup.msi 激活码:A7000-010S0-RC900-XVF4R-9J5OM-W ...
- 用CapsNets做电能质量扰动分类(2019-08-05)
当下最热神经网络为CNN,2017年10月,深度学习之父Hinton发表<胶囊间的动态路由>(Capsule Networks),最近谷歌正式开源了Hinton胶囊理论代码,提出的胶囊神经 ...
- 不同Json工具对空串和NULL的序列号处理:net.sf.json 和 fastjson
目录 1.测试代码 2.测试结果: 3.总结: 4.注:Maven中引入net.sf.json的方式 net.sf.json 和 fastjson 对于空串和NULL的处理: 1.测试代码 packa ...
- CSharp实体生成器
专门为C#开发人员定制的一个实体生成器,以往的生成器功能达到了,但是很多细节未考虑到,所以我借鉴“先人”的一些已有的东西,重新定制了一个.当然,需要源码的同学,直接使用IL Spy这个小工具就可以看到 ...
- Mysql批量插入返回Id错乱(原因分析)
在项目中经常会有如下场景: 往数据库中批量插入一批数据后,需要知道哪些插入成功,哪些插入失败了. 这时候往往会有两种思路,一个是在插入之前判断相同的记录是否存在,过滤掉重复的数据:另外一种就是边插入边 ...