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