Это не совсем соответствует вашему фактическому вопросу, но, поскольку вы сказали, что являетесь новичком в 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 является то, что он не заставляет вас использовать классы для всего. Вы можете использовать их только тогда, когда есть данные или состояние, которые должны быть связаны с методами, для чего предназначены классы. В противном случае вы можете использовать функции, для которых они предназначены.