python-含参函数
#!/usr/local/bin/python3
# -*- coding:utf-8 -*-
'''
#----------函数位置参数和关键字参数----------
def test(x,y): #此处的 x,y为形参
print(x)
print(y)
test(1,2) #位置参数调用-此处的 1,2为实参,且与形参一一对应
test(y=2,x=1) #关键字调用,与形参位置无关
#test(x=1,2) #此处会报错:因为在位置参数调用和关键字调用混合使用的情况下,会优先进行位置参数调用
#因此位置参数必须放在关键字的前面 #----------函数默认参数----------
def test(x,y=2): #何为默认参数?
print(x) #指在定义形参时,给形参提前赋的值
print(y)
test(1) #此时若只传递一个实参,那么另外一个实参则由函数默认参数所指定
test(1,y=3) #也可修改默认参数,即传递实参时指定默认参数即可,与test(1,3)等价 #默认参数特点:调用函数时,默认参数可有可无(非必须传递) #----------参数组----------#即 非固定参数 #1-实参个数不固定 #注:*args:接收N个位置参数转换为元组的形式
def test(*args): #对于实参个数不固定的情况,可以定义一个'*'开头的形参,'*'是功能代号
print(args) #这个形参会将所有的实参放入一个tuple
test(1,2,3,4,5)
test(*[1,2,3,4,5]) #传入列表参数,相当于*args=*[1,2,3,4,5] --> args=tuple([1,2,3,4,5]) #1-与位置参数结合(*args)
def test2(x,*args):
print(x)
print(args)
test2(1,2,3,4,5,6,7) #将 1 赋值给 x,(2,3,4,5,6,7)赋值给args #2-接收字典作为参数
def test3(**kwargs): #注:**kwargs:将N个关键字参数转换为字典的方式
print(kwargs)
test3(name="zhangyu",age=18) #将关键字名称作为key,参数值作为value
test3(**{"name":"zhangyu","age":18}) #可以传入一个字典作为参数 #3-与位置参数结合(**kwargs)
def test4(name,**kwargs):
print(name)
print(kwargs)
test4("zhangyu",age='18',sex='M') #4-与默认参数结合
def test5(name,age=18,**kwargs):
print(name)
print(age)
print(kwargs)
test5("mahongyan",sex='M',hobby='game')
test5("zhangguobin",sex='M',hobby='None',age='40') #5-混合使用
def test6(name,age=18,*args,**kwargs):
print(name)
print(age)
print(args)
print(kwargs)
test6("zhangyu",age=34,sex='M',hobby='game') #注:args只能接收位置参数,因此此时args为空
'''
python-含参函数的更多相关文章
- Python学习之高阶函数--嵌套函数、函数装饰器、含参函数装饰器
玩了一晚上王者,突然觉得该学习,然后大晚上的搞出来这道练习题,凌晨一点写博客(之所以这么晚就赶忙写是因为怕第二天看自己程序都忘了咋写的了),我太难了o(╥﹏╥)o 言归正传,练习题要求:构造类似京东的 ...
- Python学习教程(learning Python)--2.3.1 Python传参函数设计
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...
- Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...
- python带参函数(计算器脚本解释标注)
环境 python 3.* def operator(op1,op2,opfu): #定义符号函数,op1表示第一个运算数值,op2表示第二个,opfu表示运算符号 if opfu not in '+ ...
- MT【269】含参函数绝对值最大
设函数$f(x)=ax^2+(2b+1)x-a-2$($a,b\in\mathcal R$,$a\neq 0$). (1) 若$a=-2$,求函数$y=|f(x)|$在$[0,1]$上的最大值$M(b ...
- 『Python × C++』函数传参机制学习以及对比
一.Python函数传参 在python中,函数传参实际上传入的是变量的别名,由于python内在的变量机制(名称和变量值相互独立),只要传入的变量不可变(tuple中的元素也要是不可变的才行),那么 ...
- 01.Python基础-5.函数
1 函数的介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 内置函数 自定义函数 2 函数的定义和调用 2.1 函数的定义和调用 定义 def 函数名([参数]): 代码块 [ ...
- Python基础三. 函数、lambda、filter、map、reduce
一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- Python基础_函数2
在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...
随机推荐
- java 多线程操作(锁)
1.对象的加锁及其操作 程序中单独的并发线程对同一对象进行操作的代码段,成为临界区.java语言中的临界区可以是一个语句块 或者方法,使用关键字synchronized进行标识. 对象锁:java平台 ...
- logback配置说明
我觉得对于logback大家不太明白的有:过滤器.logger和root以及其中的一些属性的关系.其他的应该不是多迷糊,所以我就主要说说这几个的关系,并且为了清晰我只说控制台日志,写到文件的日志配置大 ...
- Android环信即时通讯集成坑爹 注册报错208解决
第一种情况: 你用的环信APPkey 是授权模式的 只要改成开放模式就可以了 第二种情况: 上述情况在环信官网都有说明 但是这种情况 环信官网就没得说明 只说的是同步方法 注册 ...
- Java 笔记 —— java 和 javac
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...
- selenium中Alter等弹出对话框的处理
昨天使用selenium做自动化测试,发现部分页面会弹出alert对话框,找了写资料,大概的意思就是要给弹出的对话框做出相应,不然,后续的处理会失败. _driver.SwitchTo().Alert ...
- sqlalchemy的cascades
http://docs.sqlalchemy.org/en/latest/orm/cascades.html class Order(Base): __tablename__ = 'order' it ...
- powershell解决win10开始菜单和通知中心无法打开
然后通过 Ctrl + Shift + Esc 弹出任务管理器点击文件-->运行新任务 在打开的填写框里面输入 "powershell"同时勾选下方的"以管理员身份 ...
- HTML5开发,背后的事情你知道吗?
现在的H5越来越受到企业或者是开发者的一个大力的追捧,已经成为网络推广必不可少的一个使用的工具,相信还有很多朋友现在都不知道H5是个什么东西,本文将为大家讲的是关于H5一些分类的问题,让你进一步的去学 ...
- 音乐代码 (DNF天空之城、欢乐颂)。
太感人了 DNF天空之城 #include <cstdio> #include <windows.h> #define qdo 262 #define qre 294 #def ...
- Gym - 100004A 树的性质
题目: 题意: 从节点 0 出发,把每一个节点都经过一遍,然后从一个节点回到学校. 由于有 n+1个节点,n条边,而且保证两两互相到达,那么这就是一个棵树. 于是,可以发现,如果从一个点出发,然后回到 ...