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, ...
随机推荐
- 读取yml 文件中的参数
第一种方法: yml 文件: spring: main: allow-bean-definition-overriding: true cloud: consul: host: 192.168.1.1 ...
- IPv6地址表示方式
1.IPv6 简介 IPv6是英文“Internet Protocol version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地 ...
- DOTS默认情况下的性能
利用Unity全新的高性能多线程数据导向技术堆栈(DOTS),充分利用当今的多核处理器.您的游戏运行速度更快,您的代码更易于在其他项目中阅读和重用. 重建Unity的核心 我们正在使用高性能多线程数据 ...
- PJzhang:docker基础知识的2个疗程-one
猫宁!!! 参考:http://virtual.51cto.com/art/201805/572135.htm https://www.cnblogs.com/rkit/p/9237696.html ...
- ip routing 开启三层路由模式
no ip router是关闭路由协议,no ip routing 是关闭三层的路由工作模式 no ip route是删除某条(静态)路由,比如no ip router 0.0.0.0 0.0.0.0 ...
- 准备openstack基础环境
在所有的openstack节点上执行 1.配置阿里yum源 yum -y install wget rm -rf /etc/yum.repos.d/* wget -O /etc/yum.repos.d ...
- 再jsp页面中使用kindeditor 的方法
1.创建一个动态web工程 2.建立一个static库文件夹把CSS,JS样式放进去 3. 复制HTML代码到jsp页面中 4.在相对路径中加上一个"static/" 5.运行截图
- Minimizing Difference 【思维】
题目链接: https://vjudge.net/contest/336389#problem/B 题目大意: 给出一个长度为n的数列以及操作次数k.k的范围为1e14.每次操作都可以选择给任意一个数 ...
- [CF997C]Sky Full of Stars_二项式反演_等比数列_容斥原理
Sky Full of Stars 题目链接:http://codeforces.com/problemset/problem/997/C 数据范围:略. 题解: 首先考虑拟对象,如果至少有一行完全相 ...
- 【转】mysql分库分表,数据库分库分表思路
原文:https://www.cnblogs.com/butterfly100/p/9034281.html 同类参考:[转]数据库的分库分表基本思想 数据库分库分表思路 一. 数据切分 关系型数 ...