Python面向对象——魔术方法

特殊属性

魔术方法名称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定义

索引与切片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重复,连接与成员操作符

在这里插入图片描述
在这里插入图片描述

循环

在这里插入图片描述
在这里插入图片描述

with语句安全上下文在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值