python中非关键字可变长参数和关键字变量参数的区别

#非关键字可变长参数

def add(*arg):
    return type(arg)

print add()

#打印结果

<type ‘tuple‘>

#关键字变量参数

def abd(**args):
    return type(args)

print abd()

#打印结果

<type ‘dict‘>

由此,非关键字可变长参数是元组类型,关键字变量参数是字典类型

时间: 2024-08-27 16:17:38

python中非关键字可变长参数和关键字变量参数的区别的相关文章

位置参数,默认参数,非关键字可变长参数,关键字可变长参数

def f(name, gender = 'male', *args, **kw): pass 位置参数:name 默认参数:gender 非关键字可变长参数:args 关键字参数:kw tips:四者的顺序必须是(位置参数)+(默认参数)+(非关键字可变长参数)+(关键字参数) 特殊情况: def f(name, gender = 'male', *args, **kw): print 'name: %s' % name print 'gender: %s' % gender if args

Python函数的可变长参数

# 非关键字可变长参数(元组*args),把N个非关键字参数参数转化为元组.# 当函数被调用的时候,所有形参(必须的和默认的)都将赋值给函数声明中对应的局部变量,剩下的非关键字参数按顺序插入到一个元组中.# 可变长参数元组必须在位置参数和默认参数之后.def func(arg1, arg2 = 9, *args):    print("arg1: %d" % arg1)    print("arg2: %d" % arg2)    for i in args:   

python 面向对象(成员,静态,类)的(变量,方法)区别

静态方法是使用@staticmethod装饰的方法,并且参数表中不需要self或者cls,可以访问类成员变量 默认的方法是有self的,是成员方法,可以访问私有变量和方法(通过self.xxx),或者访问类方法或变量(通过类名.方法名或变量名) 类方法使用@classmethod来装饰,参数表中不需要self,但需要cls参数和当前类关联.不能访问成员变量和方法,但是可以通过cls.xxx访问类方法或类变量 一下是参考了网上的一些大神的总结: 静态成员方法: 不能访问类属性,实例属性,相当于一个

python可变长参数(非关键字及关键字参数)

可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入.即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的: 可变长参数分为非关键字和关键字类型,分别对应元组和字典,如下定义一个类,功能是打印出输入的函数: 1 >>> class Test: 2 def keyword(self,a,b,*non_keyword,**keyword): 3 print('a is ',a) 4 print('b is ',b) 5 print('non_ke

[python][oldboy]关键字参数和位置参数,默认参数,可变长参数(无名,有名)

关键字参数和位置参数是在函数调用的时候定义 关键字参数是以键-值对出现,无序,多一个不行,少一个不行 位置参数,有序,多一个不行,少一个不行 混搭:所有位置参数必须在关键字参数的左边 默认参数是在函数定义的定义,在函数调用的时候可以不用传改参数 可变长参数:*args, **kwargs 可变长参数和位置参数的混搭 1 def add(x,y): 2 return x + y 3 def add_1(x=0, y=1): 4 return x + y 5 6 def list_add(x, *a

Python 必选参数,默认参数,可变参数,关键字参数和命名关键字参数

Py的参数还真是多,用起来还是很方便的,这么多参数种类可见它在工程上的实用性还是非常广泛的. 挺有意思的,本文主要参照Liaoxuefeng的Python教程. #必选参数 def quadratic(a, b, c): if not isinstance(a, (int, float)) or not isinstance(b, (int, float)) or not isinstance(c, (int, float)): raise TypeError('bad operand type

python学习笔记 可变参数关键字参数**kw相关学习

在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如下: def getsum(num) : sum = 0 for n in num : sum = sum + n * n return sum 但是调用的时候必须定义一个元组或者列表.比如getsum([1,2,3]) 如果利用可变参数调用函数的方式可以变成这样的话就方便的多比如getsum(1,

Python中的可变参数和关键字参数

刚开始接触 python 的时候,对 python 中的 *wargs (可变参数) 和 **kwargs (关键字参数)的理解不是很透彻,看了一下 <Explore Python>一书,里面对这一部分的描述相对浅显易懂, 这里依据个人理解进行相关总结. 可变参数(*args) 对于可变参数可以联想到 C# 中的可变参数.可变参数是一个数量不确定的列表集合,可以是 list 类型,也可以是 tuple 类型 我们定义如下代码段: def add(*numbers): print(type(nu

python的位置参数、默认参数、关键字参数、可变参数区别

一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_dict = {1: u'先生', 2: u'女士'} print 'hello %s %s, welcome to python world!' %(name, sex_dict.get(sex, u'先生')) # 两个参数的顺序必须一一对应,且少一个参数都不可以 # print_hello('t