__ init__ и аргументы в Python

Я хочу понять аргументы конструктора __ init __ на Python.

class Num:
    def __init__(self,num):
        self.n = num
    def getn(self):
        return self.n
    def getone():
        return 1
myObj = Num(3)

print myObj.getn()

РЕЗУЛЬТАТ: 3

Я вызываю метод getone () :

print myObj.getone()

РЕЗУЛЬТАТ: Ошибка 'getone ()' не принимает аргументов (1 передано).

Итак Я заменяю:

def getone():
    return 1

на

def getone(self):
    return 1

РЕЗУЛЬТАТ: 1 Это нормально.

Но метод getone () не требует аргументов.

Должен ли я использовать бессмысленный аргумент?

33
задан ivanleoncz 25 May 2018 в 04:34
поделиться