2015-11-16 39 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

我喜歡你的代碼,因爲這意味着我在2050年仍然33歲:) – wim

+0

你的專業/學位/名稱方法在這段代碼中都有綁定衝突。這些方法通常被稱爲getter,所以應該使用get_name,get_major和get_degree等名稱。他們不應該除了自我之外還有任何爭論,因爲這個領域是自我認識的。你的名字方法就是你的專業和學位方法應該具備的一個很好的例子。 – saarrrr

回答

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

注意你不需要通過birthyear因爲它是自我,回報是被調用函數的值。

+0

這個,加上修復你的專業/學位的方法應該讓你去你需要去的地方。 – saarrrr

+0

你也應該看看調用super來初始化你的繼承函數 – gkusner

相關問題