簡體   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