Python日志分析(第16部分):如何搜集关键参数关键词?

2026-06-10 22:121阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计392个文字,预计阅读时间需要2分钟。

Python日志分析(第16部分):如何搜集关键参数关键词?

学习笔记,包含错误纠正+收集关键词+我们知道一个函数可以接收不定个数的参数,以*开头,参数名会收集所有参数到一个元组上,例如,printall(*参数名)可以接收任意个数的参数并打印。

学习笔记,有错必纠



收集关键词参数



我们知道一个函数可以接收不定个数的参数,以​​*​​开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们:

def printall(*args):
print(args)

printall("aer", 10, True)

输出:

('aer', 10, True)


Python日志分析(第16部分):如何搜集关键参数关键词?


​​*​​号操作符并不会搜集关键词实参:

In [24]: printall(1, 2, b = 'as')
TypeError: printall() got an unexpected keyword argument 'b'



要收集关键词实参,可以使用​​**​​操作符:

def printall2(*args, **kwargs):
print(args, kwargs)

printall2(1, 2, b = 'as')

输出:

(1, 2) {'b': 'as'}

我们看到kwargs收集到的结果是一个将关键词映射到值的字典。

如果我们有一个关键词映射到值的字典,我们可以使用分散操作符​​**​​来调用函数:

class Point:
def __init__(self, x = 0, y = 0, z = 0):
self.x = x
self.y = y
self.z = z

def __str__(self):
return "({}, {}, {})".format(self.x, self.y, self.z)

d = dict(x = 1,y = 2,z = 3)
p = Point(**d)
print(p)

输出:

(1, 2, 3)


本文共计392个文字,预计阅读时间需要2分钟。

Python日志分析(第16部分):如何搜集关键参数关键词?

学习笔记,包含错误纠正+收集关键词+我们知道一个函数可以接收不定个数的参数,以*开头,参数名会收集所有参数到一个元组上,例如,printall(*参数名)可以接收任意个数的参数并打印。

学习笔记,有错必纠



收集关键词参数



我们知道一个函数可以接收不定个数的参数,以​​*​​开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们:

def printall(*args):
print(args)

printall("aer", 10, True)

输出:

('aer', 10, True)


Python日志分析(第16部分):如何搜集关键参数关键词?


​​*​​号操作符并不会搜集关键词实参:

In [24]: printall(1, 2, b = 'as')
TypeError: printall() got an unexpected keyword argument 'b'



要收集关键词实参,可以使用​​**​​操作符:

def printall2(*args, **kwargs):
print(args, kwargs)

printall2(1, 2, b = 'as')

输出:

(1, 2) {'b': 'as'}

我们看到kwargs收集到的结果是一个将关键词映射到值的字典。

如果我们有一个关键词映射到值的字典,我们可以使用分散操作符​​**​​来调用函数:

class Point:
def __init__(self, x = 0, y = 0, z = 0):
self.x = x
self.y = y
self.z = z

def __str__(self):
return "({}, {}, {})".format(self.x, self.y, self.z)

d = dict(x = 1,y = 2,z = 3)
p = Point(**d)
print(p)

输出:

(1, 2, 3)