栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python函数赋值给一个变量 || args和kwargs的作用 || tuple与list区别

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python函数赋值给一个变量 || args和kwargs的作用 || tuple与list区别

1. python中函数是可以直接变量,但有些需要注意不要写括号(),有括号的话是执行函数。 1.1 示例一
def fun(*arg):
	a=arg[0]*arg[1]
	return a 
Test=fun
result=Test(3,4)

输出
12

1.2 示例二
def wrapper(N):
	def add(X):
		return X+N
	return add
test=wrapper(4)# 这里test等于在N=4,被指定情况下的add函数
print(test(3))

输出
7

2. * args和**kwargs的详解 2.1 args是arguments的缩写,kwargs是keword arguments的缩写,这两个均可以用其他参数名替换。
  • args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用args和**kwargs时,必须*args参数列要在**kwargs前。
    补充:
  • *args是用来传递一个非键值变长参数列表功能。
  • **kwargs通常用来传递关键字变长参数。
2.2 *args
  • *args代表传入列表list或者tuple;其使用代码举例如下,这里给出了两种传入参数的方法及参数变量遍历方法。注意列表 list or 元组tuple在传入时需加*号。
def test(*args):
    print(args[0])
    print("***************")
    for arg in args:
        print(arg)
    return 
    
a=(1,2,3)
test(*a)
test(5,6,7)

输出
1
***************
1
2
3
5 #这里开始是test(4,5,6)的输出
***************
5
6
7

2.3 **kwargs
  • kwargs 必须是dict类型,这里给出使用举例,可以通过字典传参,但必须在变量前加**;也可以直接新定义参数传入。
def test(**kwargs):
    for key,value in kwargs.items():
        print("key: ",key," value: ",value)

# method1
d={"Nancy":21,"Tom":24}
test(**d)

# method2
print("")
test(Jack=22,Jenny=20)

输出:

key: Nancy value: 21
key: Tom value: 24

key: Jack value: 22
key: Jenny value: 20

3. tuple与list的区别 3.1 区别一,tuple一旦创建,就不能被修改,list被创建后,可以修改
  • 定义tuple和list的方法类似,区别是元组集合用小括号,list是中括号
3.1.1 Tuple的好处
  • Tuple 比list操作速度快,如果一个常量集的唯一用处是不断遍历它,请使用tupe代替list;
  • 对于不需要修改的数据进行“写保护”,可以使代码更安全。如果必须修改这些值,则需要执行tuple到list转换。
3.2 区别二 Tuple不存在的方法

*不能向tuple里增加元素,因此tuple没有append或者extend函数

  • 没有remove或pop函数,因为不能删除元素
  • 没有Index函数,不能在tuple中查找元素
  • 可以使用for i in tt来遍历元素。或者[]来索引,如tt[0]
3.3 Tuple和list可以相互转换 暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号