“”“

函数的参数

--必须参数,默认参数,组合参数

--函数我作为参数

--对象作为参数

--*args  可变参数

--**kwargs关键字参数

“””

def function1(a,b,*args,**kwargs): #必须参数必须放在最前面

  print(a,b)

  print(agrs)

  print(type(args))

  print(kwargs)

  print(type(kwargs))

function2(1,2,3,4,5,6,name ="fang", age = 10)

结果是 a=1,b=2, 3,4,5,6作为一个元祖给args,name="fang",age=10作为一个字典给kwargs

#命名关键字参数,*后边的必须参数传参时必须写名字

#命名关键字参数是必须参数,如果不需要他是必须参数,那么可以给一个默认值

def function2(a,b,*,c,d):

  print(a)

  print(b)

  print(c)

  print(d)

function2(1,2,c=3,d=4)

functon2(1,2,d=4,c=3) #命名关键字参数,只要给名字,顺序无所谓

function2(1,2,3,4) #这里没有给名字,就会报错,这就是命名关键字参数的特别之处

下面还有几种特殊传参方式

def function3(a,b,c)

  print(a)

  print(b)

  print(c)

s1 = (1,2,3)

function3(*s1)   # *s1可以把可迭代对象拆开

s2 = [4,5,6]

function3(*s2)  # *s2可以把可迭代对象拆开

kw = {"a":1,"b":2,"c":3}

function3(*kw)  #带一个*可以传字典类型的键,但是需要注意的是,字典的键的名字必须和函数                           #的参数名名字一样,否则报错

function3(**kw) #带两个**,可以传字典类型的值,一般字典类型传参用**这种的多

  

python中函数的参数传递小结的更多相关文章

  1. Python中函数的参数传递与可变长参数

    转自旭东的博客原文 Python中函数的参数传递与可变长参数 Python中传递参数有以下几种类型: (1)像C++一样的默认缺省函数 (2)根据参数名传参数 (3)可变长度参数 示例如下: (1)默 ...

  2. Python中函数参数传递问题【转】

    1. Python passes everything the same way, but calling it "by value" or "by reference& ...

  3. python中函数参数传递的几种方法

    转自  http://www.douban.com/note/13413855/ Python中函数参数的传递是通过“赋值”来传递的.但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题 ...

  4. python 中函数参数传递形式

    python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...

  5. python中函数参数的引用方式

    值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...

  6. 【Python】解析Python中函数的基本使用

    1.简介 在Python中定义函数的基本格式为: def <函数名>(参数列表): <函数语句> return <返回值> Python中的函数形式比较灵活,声明一 ...

  7. 深入理解python中函数传递参数是值传递还是引用传递

    深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是"传对象引用 ...

  8. python 中函数的参数

    一.python中的函数参数形式 python中函数一般有四种表现形式: 1.def function(arg1, arg2, arg3...) 这种是python中最常见的一中函数参数定义形式,函数 ...

  9. python中函数的参数解析

    python中函数的各种参数梳理: 1.形参:函数定义时传入的参数 2.实参:函数调用时传入的参数 (有形参必传实参,形参里自身特点可不传的,可传可不传) 3.缺省参数:不传为默认值,传了会覆盖(下面 ...

随机推荐

  1. k-近邻(KNN) 算法预测签到位置

    分类算法-k近邻算法(KNN): 定义: 如果一个样本在特征空间中的k个最相似 (即特征空间中最邻近) 的样本中的大多数属于某一个类别,则该样本也属于这个类别 来源: KNN算法最早是由Cover和H ...

  2. # win10下设置软件启动快捷方式

    win10下设置软件启动快捷方式 win10下设置软件启动快捷键,必须把快捷方式放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs目录下,在这 ...

  3. Centos7下,宿主机nginx配合docker环境的php-fpm

    一.安装docker并启动 yum install docker systemctl start docker 二.安装nginxCentOS 7默认不能从yum中安装nginx,原因可以自己搜索一下 ...

  4. python学习-6 猜拳小游戏

    import random # 调用随机数模块 pc = random.randint(1,3) # 产生1-3的随机数 print("来玩个猜拳游戏吧!") a = '石头' b ...

  5. windows下将jar包打入maven仓库

    mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversion=1.27 -Dpac ...

  6. RabbitMq 开始<一>

    power shell 执行: dotnet new console --name Send mv Send/Program.cs Send/Send.cs dotnet new console -- ...

  7. 使用Docker搭建MySQL服务

    一.安装docker windows 和 mac 版可以直接到官网下载 docker desktop linux 的安装方法可以参考 https://www.cnblogs.com/myzony/p/ ...

  8. 【转】Fetch超时设置和终止请求

    原文链接:https://www.cnblogs.com/yfrs/p/fetch.html 1.基本使用 Fetch 是一个新的端获取资源的接口,用于替换笨重繁琐XMLHttpRequest.它有了 ...

  9. SVG学习之stroke-dasharray 和 stroke-dashoffset 详解

    本文适合对SVG已经有所了解,但是对stoke-dasharray和stroke-dashoffset用法有疑问的童鞋 第一:概念解释 1. stroke意思是:画短线于,在...上划线 2. str ...

  10. C++ STL 之 stack

    stack 是一种先进后出(first in last out,FILO)的数据结构,它只有一个出口,stack 只允许在栈顶新增元素,移除元素,获得顶端元素,但是除了顶端之外,其他地方不允许存取 元 ...