函数的动态参数与命名空间 day9

一、动态参数(不定长参数)def func(*args):

形参: 3种 动态参数*args 动态参数,不定长参数

*rarge用法
def func(*args):
    print(args,type(args))
func(1,2,‘alex‘,3,4,5,6,8,4,7,2)

结果

*args按位置对应不能放到,其他形参位置前边

def func(*args,a,b,c):
    print(a)
    print(b)
    print(c)
    print(args,type(args))
func(1,2,‘alex‘,3,4,)

结果

正确用法

def func(a,b,c,*args):
    print(a)
    print(b)
    print(c)
    print(args,type(args))
func(1,2,‘alex‘)

结果

位置参数,*args,默认参数,**kwargs
def func(a,b,c,sex = ‘男‘,*args):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
func(1,2,‘alex‘,‘wusir‘,‘ritian ‘

结果

sex=‘男’被wusir覆盖

def func(a,b,c,*args,sex = ‘男‘):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
func(1,2,‘alex‘,‘wusir‘,‘ritian ‘,sex=‘女‘)

结果

**kwargs的用法

def func(**kwargs):
    print(kwargs)
func(a = 1,b = 4,c = 3,d = 2)

结果

def func(a,b,c,*args,sex = ‘男‘,**kwargs):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
    print(kwargs)
func(1,2,‘alex‘,‘wusir‘,‘ritian ‘,sex = ‘女‘,name = ‘taibai‘,age = 21)

结果

*args,**kwargs万能参数

def func2(*args,**kwargs):
    #万能参数
    print(args)
    print(kwargs)
func2(1,2,3,5,name=‘alex‘,age=56)

结果

*rags加法计算器

def my_sum(*args):
    count = 0
    for i in args:
        count += i
    return count
print(my_sum(1,2,3,6,78))
print(sum([1,2,3]))

结果

*魔法运算:打散

def func2(*args,**kwargs):
    print(args)
    #(1,2,3)
l1 = [1,2,3,]
l2 = [1,2,3,2,3,100,2]
func2(*l2,*l1)

结果

def func3(*args,**kwargs):
    print(args)
    print(kwargs)
dic = {‘name‘:‘alex‘,‘age‘:12}
dic2 = {‘name‘:‘jin‘,‘age‘:22}
func3(**{‘name1‘:‘alex‘,‘age1‘:12},**{‘name2‘:‘jin‘,‘age2‘:22},name3 = ‘wusir‘)

结果

def func3(*args,**kwargs):
    print(args)
    print(kwargs)
dic = {‘name‘:‘alex‘,‘age‘:12}
dic2 = {‘name‘:‘jin‘,‘age‘:22}
func3(**{‘name1‘:‘alex‘,‘age1‘:12},**{‘name2‘:‘jin‘,‘age2‘:22},name3 = ‘wusir‘)

结果

args元组,他包含了你所有的位置参数.**kwargs 他包含了关键动态参数



原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/8400746.html

时间: 2024-08-30 14:25:05

函数的动态参数与命名空间 day9的相关文章

学习10.内容# 1.函数的动态参数 # 2.函数的注释 # 3.名称空间 # 4.函数的嵌套

1.函数的动态参数 def func(a, b=1): print(a, b) func(1) *args def func(a, b, *args): # *args 是万能(接受任意多个)的未知参数 *在函数定义的时候叫做聚合 print(a, b, args) func(1, 2, 3, 4, 5, 6) def func(a, b, *args): # *args 是万能(接受任意多个)的未知参数 *在函数定义的时候叫做聚合 print(a, b, *args) func(1, 2, 3

函数之动态参数

基本函数只能所传的变量参数有限,如果想传任意个就需要使用函数动态参数 动态参数分两种: *代表多个, 动态参数有一个*和两个* 1.一个 * 默认将传入的参数全部放置在元组中(按照顺序传值) def f1(*args): print(args,type(args))f1(11,22,33,'abc','def') #传任意多个参数输出结果:(11, 22, 33, 'abc', 'def') <class 'tuple'> #显示的类型是元组动态参数还可以将列表添加输出为元组 def f1(*

函数的动态参数

一. def f1(*a):   ##形参前加一个*号,实参可以给任意多个值都可以接收 print(a) f1(123,344) 二. def f1(**a):  ##形参必须传入字典形式 print(a) f1(k1=123,k2=344) 三. def f1(*a,**aa):  ##以上两种格式的实参都可以接收,万能参 print(a) f1(1111,k1=123,k2=344) 四. *  , 元组,传入元组元素 ** ,字典,字典元素 习惯: def test(*args,**kwa

Python之路【第三篇】:Python基础(17)——函数动态参数

#动态参数:** 2星默认将传入的参数,全部放置在字典中f1(**{"kl":"v1", "k2":"v2"})#带2星的用来处理那些带有键值对的值,即一个key一个value的值 # 示例# def func(**kwargs):# print(kwargs,type(kwargs))# # 执行方式一# func(name='wupeiqi',age=18)# # 执行方式二# li = {'name':'wupeiqi'

function(函数)中的动态参数

我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下:     1.show(*args) def show(*args): print(args,type(args))    #以元组的形式向列表传递参数 show(11,22,33,44,55,66) 首先我们定义了一个函数,函数show(*args)里面的*args可以接收动态参数,这里我们接收一个元组形式的参数,我们可以向show()里面传递很多参数,函数默认把这些参数作为一个元组进行接收.     2

python函数的动态传参.作用域与命名空间

一.动态传参1.*表示动态传参. 可以接受所有的位置参数传参的时候自动的把实参打包成元组 交给形参 def chi(*food): print(food) chi() # 动态传参可以不传参数 chi(good_food = "胡辣汤") # 关键字传参 chi("胡辣汤", "疙瘩汤", "西红柿鸡蛋汤") chi("大猪蹄子","大汉堡","薯条","圣

python基础之函数(动态参数,注释,名称空间,第一类对象及使用和函数嵌套)

函数的动态参数 1.函数的动态参数 位置参数,默认参数 动态参数的作用 *args ? 1.能够接受不固定长度参数 ? 2.位置参数过多时可以使用动态参数 动态参数的用法: def func(*c): #形参位置上的 * 是聚会 print(*c) #函数体中的 * 就是打散 #func(1,2,3,4,5,6,7,8,9,0) **def eat(a,b,*args): #位置参数,动态位置参数** print(a,b,args) #结果:面条 包子 ('饺子', '馅饼', '馒头') pr

python函数动态参数详解

Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组.   func (*       func(123,1,2,)   result:(123, 1, 2, 'a') 2,"**args"的参数:函数中被转成一个字典. 如果这样传参的话会报错,因为没有指定key或value:def func (**args):    print(args) func(123,1,2,'a') result:TypeError: func() takes

Python之路【第三篇】:Python基础(16)——函数动态参数

# 动态参数:# * 1星默认将传入的参数,全部放置在元组中,f1(*[1`1,22,33,44])# 带1个星的用来处理那些默认按照顺序传的值 # # #示例# def func(*args):# print (args,type(args))# # 执行方式一# func(11,33,4,4454,5)# # 执行方式二# li = [11,2,2,3,3,4,54]# func(*li)# # 输出# # (11, 33, 4, 4454, 5) <class 'tuple'># # (