#!/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-含参函数的更多相关文章

  1. Python学习之高阶函数--嵌套函数、函数装饰器、含参函数装饰器

    玩了一晚上王者,突然觉得该学习,然后大晚上的搞出来这道练习题,凌晨一点写博客(之所以这么晚就赶忙写是因为怕第二天看自己程序都忘了咋写的了),我太难了o(╥﹏╥)o 言归正传,练习题要求:构造类似京东的 ...

  2. Python学习教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  3. Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计

    本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单, ...

  4. python带参函数(计算器脚本解释标注)

    环境 python 3.* def operator(op1,op2,opfu): #定义符号函数,op1表示第一个运算数值,op2表示第二个,opfu表示运算符号 if opfu not in '+ ...

  5. 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 ...

  6. 『Python × C++』函数传参机制学习以及对比

    一.Python函数传参 在python中,函数传参实际上传入的是变量的别名,由于python内在的变量机制(名称和变量值相互独立),只要传入的变量不可变(tuple中的元素也要是不可变的才行),那么 ...

  7. 01.Python基础-5.函数

    1 函数的介绍 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 内置函数 自定义函数 2 函数的定义和调用 2.1 函数的定义和调用 定义 def 函数名([参数]): 代码块 [ ...

  8. Python基础三. 函数、lambda、filter、map、reduce

    一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...

  9. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  10. Python基础_函数2

    在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...

随机推荐

  1. js日期格式转化

    如果出现日期格式: /Date(1442742059253)/ 可用下面js方法转化 function ChangeDateFormat(cellval) {        var date = ne ...

  2. Python常用模块(一)

    一.time模块 time模块提供各种操作时间的函数 时间三种格式 1.时间戳 以1970年1月1日 00:00:00开始的秒数 2.本地时间 localtime,表示计算机当前的时间 3.UTC世界 ...

  3. Django实战-用户注册和登陆系统

    1.环境搭建和创建项目 1.环境搭建 每当我们开始一个新项目的时候,通常都会搭建一个全新.独立.隔离的项目环境,这样做的好处自然不必多说.有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中 ...

  4. 使用windows资源管理器打开jar

    在命令行里输入: assoc .jar=CompressedFolder

  5. android api 之Scroller

    Scroller是封装了滚动,实现View和ViewGroup的背景画布的滚动. 它有两个构造方法: public Scroller (Context context) 传递一个上下文. public ...

  6. 回归JDK源代码(2)Enumeration<E>接口

    现在的Java程序员习惯使用Iterator<E>接口或者增强for循环来遍历集合.如果回到JDK 1.0,Enumeration接口则是遍历向量.哈希表的不二之选.本节就解读和翻译一下E ...

  7. 如何让MVC和多层架构和谐并存(一)

    MVC的架构和多层架构,在ORM框架上是不兼容的.MVC的数据库操作需要通过实体框架Entity Framework,多层的数据库操作需要通过DAL层.我们最近刚完成的项目,实现了MVC和多层的并存, ...

  8. LeetCode OJ Palindrome Number(回文数)

    class Solution { public: bool isPalindrome(int x) { ,init=x; ) return true; ) return false; ){ r=r*+ ...

  9. centos 7中磁盘挂载重启后挂载失效

     在centos 7磁盘挂载成功后,关机重启,挂载磁盘失效,需要重新挂载,不用重新挂载的开机挂载方法如下: 1.先检验要挂载的磁盘是否已被挂载,有的话先卸除 2.修改 /etc/fstab 文件 ,最 ...

  10. ring0 SSDTHook

    SSDT 的全称是 System Services Descriptor Table,系统服务描述符表.这个表就是一个把 Ring3 的 Win32 API 和 Ring0 的内核 API 联系起来. ...