温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中如何创建实例对象

发布时间:2020-08-04 09:38:20 来源:亿速云 阅读:128 作者:清晨 栏目:编程语言

这篇文章主要介绍python中如何创建实例对象,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

python中如何创建实例对象

python中如何来创建实例对象?

让我们以一个Foo类开始:

class Foo(object):
    def __init__(self, x, y=0):
        self.x = x
        self.y = y

当你实例化它(即创建该类的一个新的实例)时发生了什么?

f = Foo(1, y=2)

对Foo的调用到底调用了什么函数或方法呢?大多数新手甚至许多有经验的Python开发者会立刻回答:调用了__init__方法。如果你停下来仔细想1秒,你会发现这远不是一个正确答案。

推荐学习《python教程》

__init__并没有返回一个对象,但是调用Foo(1, y=2)确实返回了一个对象。而且,__init__预期一个self参数,但是当我们调用Foo(1, y=2)时这里并没有这个参数。这里会有更复杂的工作。在这篇文章中,让我们探究下在Python中实例化一个类时到底发生了什么。

构造顺序

在Python中实例化一个对象包含了几个阶段,但它的妙处在于它们自身是Pythonic(python之禅)的——理解这些步骤使得我们对Python整体有多一点的了解。Foo是一个类,但是Python中的类也是对象!类、函数、方法以及实例都是对象,并且无论何时你将一对括号放在它们的名字后面时,就会调用它们的__call__方法。所以Foo(1, y=2)是等价于Foo.__call__(1, y=2)的。__call__方法是定义在Foo的类中的。Foo的类是什么呢?

>>> Foo.__class__
<class 'type'>

所以Foo是类型type的一个对象并且调用__call__返回一个Foo类的对象。

以上是python中如何创建实例对象的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI