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, ...
随机推荐
- labelme
项目:https://github.com/wkentaro/labelme?tdsourcetag=s_pcqq_aiomsg 说明:https://www.bilibili.com/video/a ...
- List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别
List的add方法与addAll方法 区别 add add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll addAll是传 ...
- The request was rejected because the URL contained a potentially malicious String ";"报错解决
报错信息 浏览器中看到的报错 错误摘要: The request was rejected because the URL contained a potentially malicious Stri ...
- JQuery Validate - 自定义js验证
(function (window, $) { var validResult = {}; var checkObjs = { /** * 检查输入的一串字符是否全部是数字 * 输入:str Stri ...
- [译]如何使用Python构建指数平滑模型:Simple Exponential Smoothing, Holt, and Holt-Winters
原文连接:How to Build Exponential Smoothing Models Using Python: Simple Exponential Smoothing, Holt, and ...
- Fastjson反序列化漏洞
payload: 1.{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":& ...
- 最新 汽车之家java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.汽车之家等10家互联网公司的校招Offer,因为某些自身原因最终选择了汽车之家.6.7月主要是做系统复习.项目复盘.Leet ...
- webpack4实例
webpack现在已经成为前端很多的打包器.网上关于webpack的相关文章也是很多,本文主要是根据自己的学习步骤来记录的,进行简单的webpack实例的讲解. 注意:一定要确定安装的node.js的 ...
- 常用的API
API (application programming Interface)应用程序编程接口 java 是字典 Scanner类的功能可以实现从键盘输入到程序当中. 引用类型的一般使用步骤 ·1导包 ...
- mysql在字符编辑窗口下怎么退出编辑界面?(mysql下的ctrl+c与\c)
[1]SQL编辑 我们在SQL编辑的时候打错了,想要退出编辑重新输入,或者是不想写了. 如下图 (1)如果我们直接按ctrl+c中断,那么直接退出整个linux了,如上图 (2)我们可以使用\c,直接 ...