Python 在这个函数中,“函数”的真正含义是什么&引用;操作人员
我知道字符“#”用于填充块,但我不理解通常用于乘法的“*”的含义。填充的Python 在这个函数中,“函数”的真正含义是什么&引用;操作人员,python,operator-keyword,Python,Operator Keyword,我知道字符“#”用于填充块,但我不理解通常用于乘法的“*”的含义。填充的*PADDING的意思正好是(timesPADDING) *填充是在数据的末尾添加(块大小-长度(数据)%BLOCK大小)次 它根据特定数据的大小和块大小计算特定数据所需的填充量,并添加额外的,即填充 计算是块大小减去传递给函数的数据的长度,所有这些都以块大小为模 例如: from Crypto.Cipher import AES import os import base64 import socket import su
*PADDING
的意思正好是(timesPADDING
)
*填充
是在数据的末尾添加(块大小-长度(数据)%BLOCK大小)
次
它根据特定数据的大小和块大小
计算特定数据所需的填充量,并添加额外的
,即填充
计算是块大小
减去传递给函数的数据的长度
,所有这些都以块大小
为模
例如:
from Crypto.Cipher import AES
import os
import base64
import socket
import subprocess
BLOCK_SIZE = 16
PADDING='#'
def _pad(data, pad_with=PADDING):
return data + (BLOCK_SIZE - len(data) % BLOCK_SIZE) * PADDING
进行的计算如下:
>>> BLOCK_SIZE = 20
>>> data = 'this is my data'
>>> PADDING = '#'
>>> data + (BLOCK_SIZE - len(data) % BLOCK_SIZE) * PADDING
'this is my data#####'
*PADDING
的意思就是(乘以PADDING
)
*填充
是在数据的末尾添加(块大小-长度(数据)%BLOCK大小)
次
它根据特定数据的大小和块大小
计算特定数据所需的填充量,并添加额外的
,即填充
计算是块大小
减去传递给函数的数据的长度
,所有这些都以块大小
为模
例如:
from Crypto.Cipher import AES
import os
import base64
import socket
import subprocess
BLOCK_SIZE = 16
PADDING='#'
def _pad(data, pad_with=PADDING):
return data + (BLOCK_SIZE - len(data) % BLOCK_SIZE) * PADDING
进行的计算如下:
>>> BLOCK_SIZE = 20
>>> data = 'this is my data'
>>> PADDING = '#'
>>> data + (BLOCK_SIZE - len(data) % BLOCK_SIZE) * PADDING
'this is my data#####'
在Python中,您可以将一个字符串乘以一个整数来重复该字符串多次。例如
data + (20 - 15%20)*PADDING = data + (20 - 15)*PADDING = data + 5*PADDING = data + '#####'
产生
'a' * 4
任何类都可以重载操作符,比如*
by。在Python中,可以将字符串乘以整数,将字符串重复多次。例如
data + (20 - 15%20)*PADDING = data + (20 - 15)*PADDING = data + 5*PADDING = data + '#####'
产生
'a' * 4
任何类都可以重载运算符,如*
by.str type获取*运算符:
'aaaa'
因为str类定义中定义了\uuuuu mul\uuu()
方法:
'#' * 10 = '##########'
str type获取*运算符:
'aaaa'
因为str类定义中定义了\uuuuu mul\uuu()
方法:
'#' * 10 = '##########'
这根本不能回答问题。您试图解释*
操作符如何映射到str
类的\uuuuuuu mul\uuuuu
方法,这是正确的,但没有回答OP关于它实际有什么影响的问题。我的回答很简单,是的,但它准确地解释了OP想要知道的内容。现在,您已经编辑了答案以包括一个示例,它回答了问题,我已经删除了我的否决票。这根本不能回答问题。你试图解释*
操作符如何映射到str
类的\uuuuMul\uuuuuu
方法,这是正确的,但没有回答OP关于它实际有什么影响的问题。我的回答很简单,是的,但它准确地解释了OP想要知道的内容。现在你编辑了你的答案,加入了一个例子,它回答了这个问题,我删除了我的反对票。好吧,对不起,我在输入这个答案的同时,有这么多答案。像这样的问题往往会出现这种情况。是的,他也是新手。我的意图是看到他将在python控制台中尝试的这段简单代码。下一次在问问题之前,他会先在他的控制台中尝试一些东西,但你的答案中没有文字。对于新手来说,>
意味着使用Python控制台并不明显。好吧,对不起,我在输入这个答案的同时,有这么多答案。像这样的问题往往会出现这种情况。是的,他也是新手。我的意图是看到他将在python控制台中尝试的这段简单代码。下一次在问问题之前,他会先在他的控制台中尝试一些东西,但你的答案中没有文字。对于新手来说,>
意味着使用thr Python控制台并不明显。