Python(5):类与对象

来源:互联网 发布:sns软件 编辑:程序博客网 时间:2024/05/21 07:07
1.使用dir函数可以列举一个对象所有属性和方法

2.创建类和对象
classMan:
a=Man()#创建一个对象
因为是若语言,不需要像C++那样必须在类内声明成员属性。
Python类的私有,并没有像C++那样要声明的。通常在成员名称前面加'__'就表示私有的了。
但是在类外还是可以直接访问的。只是从语义上表示是私有,而不从语法上进行限制。

3.通过dir(a)。可以看到,很多内置的函数或数据成员,
__class__ 属性,类的全名
__delattr__(attrStr) 函数,删除某个属性。在类外可以用delattr(obj, attrStr)代替
__dict__ 属性,字典类型,key为属性名,value为属性值。类的这个属性的内容是私有成员,对象的这个属性的内容是公有成员,不包括私有成员
__dir__不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
__doc__ 每个类、函数都可以有一个这样的描述
__eq__ 等于==,就像C++的等号
__format__ 定制不同的输出格式
__ge__ 大于等于
__getattribute__ 访问属性
__gt__ 大于
__hash__
__init__ 初始化
__init_subclass__
__le__ 小于等于
__lt__ 小于
__module__ 模块的名称
__ne__ 不等于,通常要跟等于一起定义
__new__ 好像要继承object类才有,3.x之后就不需要继承了,作用跟C++的new差不多吧
__reduce__一些迭代相关的用法
__reduce_ex__一些迭代相关的用法
__repr__ 返回一个字符串,用法跟__str__差不多。面向Python的,可能对用户不友好
__setattr__ 设置属性
__sizeof__返回对象占用内存的大小
__str__返回一个字符串,面向用户,可读的。
__subclasshook__ 好像是检测是否子类

__weakref__ 弱引用,不知道干嘛的

百度查东西的时候,会自动忽略__的。所以很难查到某些函数。其实看名称还是大概知道什么东西的。可能看帮助文档更加好。

初学Python,知道有点什么就行了,具体怎么用,最后后面慢慢摸索。不要在这里现地踏步,之后肯定会记不住的。知道有什么,之后可以去百度。



1 0