相关疑难解决方法(0)

2149
推荐指数
17
解决办法
65万
查看次数

使用*args和**kwargs

所以我有这个概念的困难*args**kwargs.

到目前为止,我已经了解到:

  • *args =参数列表 - 作为位置参数
  • **kwargs = dictionary - 其键成为单独的关键字参数,值成为这些参数的值.

我不明白这会对哪些编程任务有所帮助.

也许:

我想输入列表和字典作为函数AND的参数同时作为通配符,所以我可以传递任何参数?

有一个简单的例子来说明如何*args**kwargs使用?

我发现的教程也使用了"*"和变量名.

*args**kwargs刚才占位符或者你使用完全相同*args,并**kwargs在代码中?

python args kwargs

1367
推荐指数
10
解决办法
84万
查看次数

zip函数给出不正确的输出

我正在使用Python编写一些加密算法,但我之前从未使用过Python.

首先,看看这段代码然后我会解释这个问题,

x = bytearray(salt[16:])
y = bytearray(sha_512[32:48])
c = [  i ^ j for i, j in zip( x, y )  ]
Run Code Online (Sandbox Code Playgroud)

x和y的值是,

bytearray(b'AB\xc8s\x0eYzr2n\xe7\x06\x93\x07\xe2;')
bytearray(b'+q\xd4oR\x94q\xf7\x81vN\xfcz/\xa5\x8b')
Run Code Online (Sandbox Code Playgroud)

我无法理解代码的第三行.为了理解第三行,我不得不研究这个函数zip(),我遇到了这个问题,

zip函数有助于元组

根据这个问题的答案,代码,

zip((1,2,3),(10,20,30),(100,200,300))
Run Code Online (Sandbox Code Playgroud)

会输出,

[(1, 10, 100), (2, 20, 200), (3, 30, 300)]
Run Code Online (Sandbox Code Playgroud)

但是当我试图打印它时

print(zip((1,2,3),(10,20,30),(100,200,300)))
Run Code Online (Sandbox Code Playgroud)

我得到这个输出,

<zip object at 0x0000000001C86108>
Run Code Online (Sandbox Code Playgroud)

为什么我的输出与原始输出不同?

python python-3.x

8
推荐指数
1
解决办法
7537
查看次数