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都是向用户在输出界面上展示结果 不同点 ...
随机推荐
- Mysql显示行号
SELECT `Name`,(@rowNum:=@rowNum+1) AS rowNo FROM bas_student,(SELECT (@rowNum :=0)) a LIMIT 10;
- 谈谈Quartz中遇到的深坑
最近在项目开发的时候,根据业务需求,需要配置为自定义Quartz任务(即:用户可以自定义任务执行时间) 但是在即将写完的时候遇到一个非常头疼的问题: 一个redisTemplate 与 workOrd ...
- vue换一换功能原型
<html> <meta charset="utf-8"> <head> <script src="https://cdn.bo ...
- HTML头部元素实例
HTML head 元素 标签 描述 <head> 定义了文档的信息 <title> 定义了文档的标题 <base> 定义了页面链接标签的默认链接地址 <li ...
- <Android 基础(六)> ActionBar
介绍 Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作.界面导航等功能.使用ActionBar的好 ...
- Excel 解析 (大文件读取)BingExcel
最近在整理一个excel读取与写出的orm框架.使用的saxreader方式,支持百万级别的excel读取. 并且在通常使用中提供了监听的读取方式.如感兴趣的朋友可以稍微了解下 ,项目地址https: ...
- 关于基于Linphone的视频通话Android端开发过程中遇到的问题
关于基于Linphone的视频通话Android端开发过程中遇到的问题 运用开源项目Linphone的SDK进行开发,由于是小组进行开发,我主要负责的是界面部分. 由于当时是初学Android开发,对 ...
- Java笔记 —— 方法重载和方法重写
Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...
- Azure 1 月新公布
Azure 1 月新发布:Microsoft Power BI Embedded 公共预览和计算机视觉 API 标准版的更新以及 Azure IoT 网关 SDK 和中心设备管理新功能正式发布以及关于 ...
- Node.js与npm安装(转载)
2009年的JSCOnf大会上,一个叫Ryan Dahl的年轻程序员向人们展示了一个他正在做的项目,一个基于Google V8引擎的JavaScript运行平台,它提供了一套事件循环和低IO的应用程序 ...