Python如果一个父类已经实例化了,现在想新建一个子类,给父类的这一个实例添加两个属性,如何实现?

Python如果一个父类已经实例化了,现在想新建一个子类,给父类的这一个实例添加两个属性,如何实现?,第1张

class People(object):

  def __init__(self, name, age):

    self.name = name

    self.age = age

class worker(People):

    def __init__(self,name,age,salary):

        super(worker,self).__init__(name,age)

        self.salary = salary

tom = People("Tom", 22)

print type(tom).__name__

#not a safe way, but no new object

tom.__class__=worker

print type(tom).__name__

tom.salary = 250

print tom.salary

#safe way, but create a new object

workerTom = worker("Tom", 22, 200)

tom.__dict__ = workerTom.__dict__

print type(tom).__name__

print tom.salary

Python中的input函数用于向用户提供一个输入的入口。

input() 函数用于向用户生成一条提示,然后获取用户输入的内容。由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以

输入任何内容,input() 函数总是返回一个字符串。

例如如下程序:

msg = input("请输入你的值:")

print (type(msg))

print(msg)

运行该程序,我们输入一个整数,运行过程如下:

请输入你的值:2

<class 'str'>

2

无论输入哪种内容,input() 函数都返回字符串,程序总会将用户输入的内容转换成字符串。

关于python输入数据的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

#!/usr/bin/python

class SchoolMember:

    '''Represents any school member.'''

    def __init__(self, name, age):

        self.name = name

        self.age = age

        print'(Initialized SchoolMember: %s)'% self.name

    def tell(self):

        '''Tell my details.'''

        print'Name:"%s" Age:"%s"'% (self.name, self.age),

class Teacher(SchoolMember):

    '''Represents a teacher.'''

    def__init__(self, name, age, salary):

        SchoolMember.__init__(self, name, age)

        self.salary = salary

        print'(Initialized Teacher: %s)'% self.name

    def tell(self):

        SchoolMember.tell(self)

        print'Salary: "%d"'% self.salary

class Student(SchoolMember):

    '''Represents a student.'''

    def __init__(self, name, age, marks):

        SchoolMember.__init__(self, name, age)

        self.marks = marks

        print'(Initialized Student: %s)'% self.name

    def tell(self):

        SchoolMember.tell(self)

        print'Marks: "%d"'% self.marks

t = Teacher('Mrs. Shrividya',40,30000)

s = Student('Swaroop',22,75)

members = [t, s]

for member in members:

    member.tell()# works for both Teachers and Students


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11829930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存