Mik*_*kki 1 python methods class self
我正在一个创建字典的类中定义一个方法。这本字典只是给字母表中的每个字母一个值。因此该方法不会操作该类的任何实例。self在这种情况下,我是否需要将其作为方法的参数?
def build_shift_dict(self, shift):
import string
low = string.ascii_lowercase*2
up = string.ascii_uppercase*2
punc = list(" !@#$%^&*()-_+={}[]|\:;'<>?,./\"")
shift_dict = {}
for i in low[:26]:
shift_dict[i] = low[low.index(i) + shift]
for i in up[:26]:
shift_dict[i] = up[up.index(i) + shift]
for i in punc:
shift_dict[i] = i
return shift_dict
Run Code Online (Sandbox Code Playgroud)
不,您可以将其设为静态方法
@staticmethod
def build_shift_dict(shift):
... do the things
Run Code Online (Sandbox Code Playgroud)