繁体   English   中英

python类对象定义

[英]python class object definition

我有一个关于Python Object类的问题。 据我了解,所有类都基于Object类。 我找不到对象的类定义:

class Object:
    code for methods and attributes.

如果我使用dir(对象),我得到这个:

dir(object)

['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

这些方法的某处是代码还是不可访问? 我正在和O'Reilly学习Python,课程的一部分是在论坛上提问并记录答案。 我相信我已经遵守了你的所有要求。 我在互联网上搜索了几个小时和你的网站。 我也搜过几本书。 我甚至无法找到正在解决的话题。 我对Python和面向对象编程比较陌生,所以也许我错过了一些东西。 也许没有必要知道这个来解决问题,但我很惊讶我找不到任何关于这个问题的评论。

这些是object类型的内部方法。 根据文档

object是所有类的基础。 它具有所有Python类实例共有的方法。

这些通常在运行时实现,例如对于CPython解释器(默认实现),您可以在https://github.com/python/cpython/blob/master/Objects/object.c找到代码。

您还可以查看https://github.com/python/cpython/blob/7862ded73723e4573ed5d13488c07b41ac31a07e/Objects/typeobject.c#L4357 ,在那里您可以找到内部如何定义object以及各种方法指向的位置。 同样,这些都是cpython的内部结构,但是会给你一个关于幕后发生的事情的公平点。

您当然可以覆盖其中的大部分内容来自定义类的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM