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
的意思正好是(times
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#####'

*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控制台并不明显。