魔术方法名称:name 查看类、函数、方法等的名字
module 类定义所在的模块
class 对象或类所属的类
bases 当前类的基类(父类)
doc 类、函数的文档帮助、没有定义为None
mro Method Resolution Order方法解析顺序
dict 类或实例的属性,可写的字典
查看属性:
dir 返回类或者对象的左右成员名称列表,dir()函数就是调用__dir__()。
1)如果dir([obj])参数包含方法__dir__(),该方法将被调用
2)如果Obj不包含__dir__(),该方法将最大限度收集属性信息。
dir(obj)对于不同类型的对象obj具有不同的行为:
1.如果对象是模块对象,返回的列表包含模块的属性名和变量名
2.如果对象是类型或者类对象,返回的列表包含类的属性名,及它的基类的属性名
3.如果obj不写 即dir(),返回列表包含内容不同
_在模块中,返回模块的属性和变量名。
_在函数中,返回本地作用域的变量名。
_在方法中,返回本地作用域的变量名。
面试常问:python中__new__,init,__del__的区别?
1).new的功能是在生成对象之前所作的操作,接受的参数是cls类,负责对象的创建工作。
2).init是在对象生成之后,对他的属性进行丰富,完善,他所接受的是self对象,负责对象的初始化操作。
3).对象生成是在new里面return(返回一个对象)
类型判断要使用type或者isinstance,不能通过判断print输出是否带引号来判断输出值的类型。
1).str()与repr()都是python中的内置函数,是直接用来格式化字符串的函数。
2).而__str__与__repr__是在类(对象)中对类(对象)本身进行字符串处理。
str:返回一个可以用来表示对象的可打印的友好字符串。
-对字符串,返回本身
-没有参数,则返回空字符串
-对类__str()成员控制其行为。该成员不存在,则使用其__repr()成员。
init(self) 转换成整形
long(self) 转换成长整型
float(self) 转换成浮点型
complex(self) 转换成复数型
oct(self) 转换成八进制
hex(self) 转换成十六进制
index(self) 如果你定义了一个可能被用来做切片的数值类型,就用index定义