2015-11-16 2 views
0

Я пишу свой собственный класс и методы, и у меня есть все это, кроме части использования localtime(), чтобы определить возраст пользователя. Я никогда не использовал localtime(). поэтому я не знаю, как реализовать его в коде. В настоящее время, так, как он написан, он возвращает связанную ошибку.Как это связано

# -*- coding: utf-8 -*- 
""" 
Created on Sun Nov 15 22:10:07 2015 

@author: Daddy 
""" 

class Person(): 

    def __init__(self, name, birthyear): 
     self.name = name 
     self.birthyear = birthyear 

    def age(self, birthyear): 
     age = 2015 - self.birthyear 
     return age 

    def name(self): 

     return self.name 

class Instructor(Person): 

    def __init__(self, name, birthyear, degree): 
     self.name = name 
     self.birthyear = birthyear 
     self.degree = degree 

    def degree(self, degree): 

     return (self.degree) 

class Student(Person): 

    def __init__(self, name, birthyear, major): 
     self.name = name 
     self.birthyear = birthyear 
     self.major = major 

    def major(self, major): 

     return (self.major) 
+2

Вы используете 'degree' и' major' как атрибут и метод. –

+0

Мне нравится ваш код, потому что это значит, что мне все равно будет 33 года в 2050 году :) – wim

+0

У ваших основных/степенных/именных методов все конфликты привязки в этом коде. Методы обычно называются геттерами, и поэтому должны быть имена, такие как get_name, get_major и get_degree. Они не должны принимать никаких аргументов, кроме себя, поскольку поле известно самому себе. Ваш метод имени - хороший пример того, что вы должны иметь в своих основных и степенных методах. – saarrrr

ответ

1
import datetime 
def age(self): 
    return datetime.datetime.now().year - self.birthyear 

Примечание вам не нужно проходить год рождения, потому что это в себе, и возвращение значения вызываемой функции.

+0

Это, а также исправление основных методов/методов должно помочь вам, когда вам нужно идти. – saarrrr

+0

вы также должны посмотреть на вызов super для инициализации ваших унаследованных функций – gkusner

Смежные вопросы