这并不是你真正要问的问题,但是既然你已经说过你是一个python新手,也许这会有帮助,而且没有其他人明确地说出来。
我决不会通过使方法成为静态方法来修复上述代码。我要么就放弃这门课,写一个函数:def drawSample(samplesize,List):
sample=random.sample(List,samplesize)
return sample
Choices=range(100)
print drawSample(5,Choices)
如果有许多相关函数,可以将它们分组到一个模块中—例如,将它们全部放在一个名为sample.py的文件中;然后import sample
Choices=range(100)
print sample.drawSample(5,Choices)
或者我会在类中添加一个__init__方法,并创建一个具有有用方法的实例:class Sample(object):
'''This class defines various methods related to the sample'''
def __init__(self, thelist):
self.list = thelist
def draw_sample(self, samplesize):
sample=random.sample(self.list,samplesize)
return sample
choices=Sample(range(100))
print choices.draw_sample(5)
(我还更改了上面示例中的大小写约定,以匹配PEP 8推荐的样式。)
Python的一个优点是它不会强迫您对所有内容使用类。只有当存在应该与方法关联的数据或状态时,才可以使用它们,这就是类的用途。否则您可以使用函数,这就是函数的用途。