python中带有类的对象

2024-04-25 04:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我是python开发的新手。我学习了python中的类和函数,以及创建函数参数等等。我见过这样的代码:

class person(object):
    def init(self,name):
        self.name=name
    def info(self)
        print "My name is {0}, I am a {1}".format(self.name,self.__class__.__name__)
bob = person(name='Robert')
bob.info()

这将产生输出“我的名字是罗伯特,我是一个人”

我只需要知道object在类person(object)中的用法。我们可以用名字代替物体吗?为什么要用类名指定这样的对象?如何使用?我找了很多遍,没有找到任何有用的答案。你知道吗

任何帮助都将不胜感激…谢谢


Tags: 函数代码nameselfinfoobjectinitdef
3条回答

新样式类必须从对象类继承。你知道吗

更多信息请参见: http://www.python.org/doc/newstyle/

在初始化一个类时,括号中的参数说明了所定义的类继承自哪些类。你基本上是说,person从object继承,或者person是object的一种类型。你知道吗

Python class inherits object

在继承object和不继承之间有很小的区别。你知道吗

至于括号里的东西是做什么的,它是用来做更复杂的对象的,这些对象是其他对象的子类

例如:

class LivingThing(object):
    def __init__(self, lifespan):
        self.lifespan = lifespan

    def lifespan_info(self):
        print("this object's lifespan is {}".format(lifespan))

class Person(LivingThing):
    # inherits from LivingThing
    def __init__(self, gender):
        LivingThing.__init__(self, 80)
        self.gender = gender

    def gender_info(self):
        print("this object's gender is {}".format(gender))


person1 = Person("male")
person1.lifespan_info()
person1.gender_info()

object-oriented design背后的思想是,您可以创建从其他对象派生的对象(在本例中,“Person”是“LivingThing”的一种),如果操作正确,它可以使代码更易于维护、扩展和阅读。你知道吗

由于Person是LivingThing的子类,因此Person也可以使用LivingThing中定义的方法,如果需要,还可以重写其方法。你知道吗

从对象继承实际上并不是什么大事,很多人认为它是可选的。它是在Python2.3中引入的,并创建了一个“新样式对象”——请查看这里的差异列表。What is the difference between old style and new style classes in Python?

I just need to know the use of object in class person(object) .Can we use any names instead of objects there.Why are we assigning such an object with the class name .Whats its use .I have searched manyt imes and didnt found any useful answer.

object在本例中是类person的父类。您可以从其他类继承一个类。这称为继承,是面向对象编程(OOP)的核心概念之一。OOP不仅仅是Python的东西,您还可以在其他语言中阅读它的概念。你知道吗

在这种情况下,您从名为object的内置Python类继承类,以支持Python的一些新特性introduced at some point。你知道吗

相关问题 更多 >