贡献者: addis
一个例子
运行结果另一个例子:来定义一个平面点类
dir(类名)
或者 dir(obj)
查看其所有性质(attributes)
vars(obj)
查看对象的所有数据成员,等效地也可以用 teddy.__dict__
obj.__module__
查看对象所在的模块,如果不在模块中定义的,就返回 '__main__'
。如果是内建类型,就返回 'builtins'
import inspect
模块可以检查 python 对象的方方面面,各种性质。具体见 dir(inspect)
。
__add__
(+
),__sub__
(-
),__mul__
(*
),__truediv__
(/
),__floordiv__
(//
),__mod__
(%
),__lshift__
(<<
),__rshift__
(>>
),__and__
(&
),__or__
(|
),__xor__
(^
),__invert__
(~
),__lt__
(<
),__le__
(<=
),__eq__
(==
),__ne__
(!=
),__gt__
(>
),__ge__
(>=
),__getitem__(self, i)
(对象[i]
),__setitem__(self, i, val)
(对象[i] = 值
),__iter__(self)
(迭代器 iter()
),__next__(self)
(迭代器 next()
)
__radd__(self, other)
可以定义 other + self
(当 other
具有不同类型时会被调用)。
x[start:end:step]
中,start:end:step
等效于 slice(start, end, step)
,类型是 slice
. 如果三个中哪个被省略了,哪个就是 None
。注意 start:end:step
不能单独使用。
getattr()
函数可以获取对象成员
delattr()
删除成员
hasattr()
检查是否存在成员
setattr()
改变成员
class 类名(基类名):
定义派生类,类名.__base__
查看基类。最底层的基类都是 object
友情链接: 超理论坛 | ©小时科技 保留一切权利