python基础之魔法方法】的更多相关文章

由于hexo自带的markdown渲染引擎对双下划线做了转义,在正文中看到的魔法方法前后都没有双下划线 setattr.getattr.delattr 可以拦截对对象属性的访问 setattr函数是用来设置对象的属性,通过object中的setattr函数来设置属性 class Ceshi: def __init__(self,n): self.name=n def __setattr__(self,key,value): print("------setattr-----key:%s---va…
python类之魔法方法: class A(object): def __init__(self,x): self.x = x def __neg__(self): print('-v') def __pos__(self): print('+v') def __invert__(self): print('~v') a = A(') -a +a ~a 输出结果: D:\python36\python3.exe D:/untitled4/temp7.py -v +v ~v Process fin…
魔法方法——构造与析构 1.python编程的魔法方法: (1)魔法方法总是被双下划线包围,例如__init__: (2)魔法方法是面向对象的python的一切. 2.__new__(class[,…])魔法方法 主要用来重新修改和对于实际类()里面所带参数的修改,__new__ 方法主要任务是返回一个实例对象,通常是参数 cls 这个类的实例化对象,当然你也可以返回其他对象. 3.__del__(self) 当做垃圾回收装置,不是在发生del操作时它会调用,只有当所有的对象的引用被del之后才…
Python中很多名称比较古怪,开头和结尾都是两个下划线.这样的拼写表示名称有特殊意义,因此绝不要在程序中创建这样的名称.这样的名称中大部分都是魔法(方法)的名称.如果你的对象实现了这些方法,他们将在特定情况下(具体是何种情况取决于方法的名称)被Python调 用,而几乎不需要直接调用. 1.构造函数 你可能从未听说过过构造函数,它其实就是我们之前示例中使用的初始化方法,只是命名为__init__.然而构造函数不同于普通方法的地方在于,将在对象创建时自动调用它们. >>> class F…
1.什么是魔法方法? 魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的.它们经常是两个下划线包围来命名的(比如 __init__,__lt__),Python的魔法方法是非常强大的,所以了解其使用方法也变得尤为重要! 2.__init__(self[, ...]),__new__(cls[, ...]),__del__(self) __init__ 构…
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果: 30 1.2 整数的减 a = 10 b = 20 print(b - a) 结果 10 1.3 整数的乘 a = 10 b = 20 print(a * b) 结果: 200 1.4 整数的除 a = 10 b = 20 print(b / a) 结果: 2.0 # 注意点:当我们使用Pyth…
python的函数和方法,通过def 定义: 函数的特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数和方法的区别:函数有返回值.方法没有 语法定义: def sayhi():#函数名 print("Hello, I'm nobody!") sayhi() #调用函数 可以带参数 #下面这段代码 a,b = 5,8 c = a**b print(c) #改成用函数写 def calc(x,y): res = x**y return res #返回函数执行结果 c = cal…
__xx__这种方法,在Python中均称为魔法方法 1.__init__(self) 该方法的作用是初始化对象 在创建对象时被默认调用,不需要手动调节 self参数不需要开发者传递,解释器会自动将创建的对象传递过去 2.__str__(self) def __str__(self): return "这是海尔洗衣机的说明书" #运行结果 这是海尔洗衣机的说明书 在打印所创建的对象时会打印出该方法的返回值 代码实例 class washer(): 18 def __init__(sel…
构造和初始化 __init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数". 实际上, 当我们调用x = SomeClass()的时候调用,__init__并不是第一个执行的, __new__才是.所以准确来说,是__new__和__init__共同构成了"构造函数". __new__是用来创建类并返回这个类的实例, 而__init__只是将传入的参数来初始化该实例. __new__在创建一个实例的过程中必定会被调用,但__init__就不…
公共方法:就是列表,元组,字典,字符串能共同使用的方法: Python内置函数 内置函数罗列 函数 描述 备注 len(item) 计算容器中的元素个数 del(item) 删除变量 del有两种方法 max(item) 返回容器中元素最大值 如果是字典,只针对key比较 min(item) 返回容器中元素最小值 如果是字典,只针对key比较 cmp(item1,item2) 比较两个值,-1小于/0等于/1大于 python3取消了cmp函数 注意:字符串具有以下规则:"0"<…