Python函数中参数* 和 ** 的区别

* 函数接收参数为元组

例如

def myfun(*args): #相当于 def myfun(1,2,3)    ==> args 就相当于(1,2,3)

  for a in args:

    print(a)

** 表示函数接收参数为一个字典

def myfun(**args) :#相当于 def myfun({a:1,b:2,c:3}) ==>args 就相当于{a:1,b:2,c:3}

  for k,v in args:

    print(k,":",v)

时间: 2024-08-10 15:11:34

Python函数中参数* 和 ** 的区别的相关文章

python函数中参数是如何传递的?

python中一切皆对象,函数中参数传递的是对象的引用. 1在函数中改变变量指向的对象,即指向不同对象. 当在函数中修改传递进来的变量指向另一个对象时,实参的对象不会改变. >>> def fun(num,l,d): ... num=123; ... l=[1,2,3] ... d={'a':123} ... print("inside:","num=%f,l=%s,d=%s"%(num,l,d)) ... >>> num=1 &

python函数中参数的传递

Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引用的副本:也就是说,函数内部的形参是实参的别名(alias)这种方案的结果是,函数可能会修改作为参数传入的可变对象,但是无法修改那些对象的标识(即不能把一个对象替换为另一个对象. 1 >>> def fun(num,l,d): 2 ... nu

Python函数中参数前带*是什么意思?

背景 前几天看了些python的代码,发现有些函数的参数前带有()号,有的甚至有两个()号,它们代表什么意思的? 解释 查阅资料后发现,参数前面加上* 号 ,意味着参数的个数不止一个,另外带一个星号()参数的函数传入的参数存储为一个元组(tuple),带两个()号则是表示字典(dict) 下面我们实际操作一下: def t1(param1, *param2): print(param1) print(param2) t1(1,2,3,4) # 1 # (2,3,4) def t2(param1,

python函数中的默认参数问题

Python 函数中,参数的传递本质上是一种赋值操作 def foo(arg): arg = 2 print(arg) a = 1 foo(a) # 输出:2 print(a) # 输出:1 def bar(args): args.append(1) b = [] print(b)# 输出:[] print(id(b)) # 输出:4324106952 bar(b) print(b) # 输出:[1] print(id(b)) # 输出:4324106952 def foo(x, a_list=

python函数中的参数类型

python函数中的参数 python的函数类型详解

Python函数中的可变长参数_速记

一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 二.可变长参数 1.一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历 def length_param(a, *args): print("a=", a) pri

Python函数中的必选/默认/可变/关键字/命名参数

Python函数中的必选/默认/可变/关键字/命名参数 一.默认参数 def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s n为默认参数,直接赋值 默认参数设置的两个注意事项: 1.必选参数在前,默认参数在后,否则会报错 2.当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面.变化小的参数就可以作为默认参数. 二.可变参数 在python中,如果我们需要传入不确定数目的参数,就可以利用可变参数 def ca

python 函数的参数的几种类型

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 默认参数 我们仍以具体的例子来说明如何定义函数的默认参数.先写一个计算x2的函数: def power(x

C++ main函数中参数argc和argv含义及用法

argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个: 第一个参数argc用来存放命令行参数的个数第二个参数argv是指针数组,它是用来存放命令行中各个参数和命令字的字符串的 具体可看:C++ main函数中参数argc和argv含义