python-(*args,**kargs)用法
*args和**kwargs使用
可变位置参数:
*args:是一个元组,传入的参数会被放进元组里。
可变关键字参数:
**kwargs:是一个字典,传入的参数以键值对的形式存放到字典里。
def test1(*args): print(type(args),args) test1(1,2,3) def test2(**kwargs): print(type(kwargs),kwargs) test2(a=1,b=2) def test3(*args,**kwargs): print(type(args),args) print(type(kwargs), kwargs) print(args,kwargs) test3(1, 2, 3,a=1,b=2)
out:
<class 'tuple'> (1, 2, 3)
<class 'dict'> {'a': 1, 'b': 2}
<class 'tuple'> (1, 2, 3)
<class 'dict'> {'a': 1, 'b': 2}
(1, 2, 3) {'a': 1, 'b': 2}
target和args使用
target一般是一个可调用对象,比如函
def work(threadName, delay): print(threadName,delay) class Entity: def __init__(self,a): self.a=a def __call__(self, *args,**kwargs): print(args,kwargs) #python threading.Thread(target=***, args=(****,)) #target一般是一个可调用对象,比如函数 #如果你想让一个类作为这个参数,可以加上__call__方法,让类变为可调用对象 #如果你想让一个变量作为这个参数,可以重写这个变量所在类的__callable__方法,让变量可调 from threading import Thread t1=Thread(target=work,args=("Thread-1",1)) t1.start() e = Entity(1) t2=Thread(target=e,args=("Thread-2",3)) t2.start()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人