问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Logger.info(msg[ , *args[ , **kwargs] ] ),这是PYTHON API的一个方法,*知道表示什么意思,[]什么意思啊

发布网友 发布时间:2022-05-04 15:35

我来回答

2个回答

热心网友 时间:2023-10-23 08:48

C++中有重载,python的可以用这种方法实现可变参数。

先来看个例子:
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'

if __name__ == '__main__':
foo(1,2,3,4)
foo(a=1,b=2,c=3)
foo(1,2,3,4, a=1,b=2,c=3)
foo('a', 1, None, a=1, b='2', c=3)
输出结果如下:
args = (1, 2, 3, 4)
kwargs = {}
---------------------------------------
args = ()
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = (1, 2, 3, 4)
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = ('a', 1, None)
kwargs = {'a': 1, 'c': 3, 'b': '2'}
---------------------------------------
可以看到,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典:
def kw_dict(**kwargs):
return kwargs
print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。

热心网友 时间:2023-10-23 08:49

表示可以接收字典与元组的意思。

[]这不是python语法,它只是说明这个参数不是必须写,可有可无。

热心网友 时间:2023-10-23 08:48

C++中有重载,python的可以用这种方法实现可变参数。

先来看个例子:
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'

if __name__ == '__main__':
foo(1,2,3,4)
foo(a=1,b=2,c=3)
foo(1,2,3,4, a=1,b=2,c=3)
foo('a', 1, None, a=1, b='2', c=3)
输出结果如下:
args = (1, 2, 3, 4)
kwargs = {}
---------------------------------------
args = ()
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = (1, 2, 3, 4)
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = ('a', 1, None)
kwargs = {'a': 1, 'c': 3, 'b': '2'}
---------------------------------------
可以看到,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典:
def kw_dict(**kwargs):
return kwargs
print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。

热心网友 时间:2023-10-23 08:49

表示可以接收字典与元组的意思。

[]这不是python语法,它只是说明这个参数不是必须写,可有可无。

热心网友 时间:2023-10-23 08:48

C++中有重载,python的可以用这种方法实现可变参数。

先来看个例子:
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'

if __name__ == '__main__':
foo(1,2,3,4)
foo(a=1,b=2,c=3)
foo(1,2,3,4, a=1,b=2,c=3)
foo('a', 1, None, a=1, b='2', c=3)
输出结果如下:
args = (1, 2, 3, 4)
kwargs = {}
---------------------------------------
args = ()
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = (1, 2, 3, 4)
kwargs = {'a': 1, 'c': 3, 'b': 2}
---------------------------------------
args = ('a', 1, None)
kwargs = {'a': 1, 'c': 3, 'b': '2'}
---------------------------------------
可以看到,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典:
def kw_dict(**kwargs):
return kwargs
print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3}
其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了。

热心网友 时间:2023-10-23 08:49

表示可以接收字典与元组的意思。

[]这不是python语法,它只是说明这个参数不是必须写,可有可无。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? python中的logging.info('info')是什么意思呢 win7 64旗舰版,鼠标在空白地方右键时会导致资源管理器重启 一点右键资源管理器就重启 单击有右键就会提示资源管理器错误需要重启,求解决 右键点击快捷方式时资源管理器会重启 你好啊,我是W7系统,点击鼠标右键总要重启资源管理器 win10右键自动重启资源管理器 Win8.1右击资源管理器总是自动重启怎么解决 右键所有文件和程序都会重启资源管理器要怎么办,希望不用重装系统 右击桌面,资源管理器重启。解决方法。 win8.1右键文件资源管理器重启 windows7 只要在桌面右键刷新5,6下就 会出现 “资源管理器”重启。 右键导致资源管理器重启 电脑右键重启资源管理器是什么原因 为什么我一右键点击一些系统应用,资源管理器就重启? 关于右键菜单导致资源管理器重启 为什么我点右键就重启资源管理器. 信用卡年费怎么收取 店小就小程序帮助店铺客带客效果好吗? 想问一下出租车不在指定上下客带客怎么处罚 360安全卫士卸了东西怎样弄回来? python logging.info('n=%d'% n ) 这个()里面的每个字符怎么理解啊 生栗子怎么做好吃 XBOX360能不能找回删除过的游戏 360卸载掉的游戏怎么恢复 苹果视图设置在哪 游戏卸载了怎么找回来?或者是文件夹删除了怎么找回来!急.... 360软件管家的游戏大全怎么恢复删除的游戏 苹果手机怎么开列表式视图啊? 如何获取服务器当前时间 怎样获取网站服务器时间 如何获取服务器时间 天龙八部怎样看服务器时间 天龙八部如何查看系统时间?? 铝熔炼炉 mysql_fetch_assoc()在处理结果集时返回的数据格式为? 支付宝账号注销不了,前手机号主有余额怎么办? 氯化锰中锰元素是几价的? 求化合价: 氯化锰里锰的化合价是多少 氯的化合价有-1,+5,+7,怎么知道他的化合价 求化合价 氯化锰里锰的化合价是多少