首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
python进阶(四)---需要了解的魔法方法
】的更多相关文章
python进阶(四)---需要了解的魔法方法
以下内容,源于个人理解所得,纯属臆测,爱信不信:-D.欢迎大家留言讨论指正. 1.__new__魔法方法: 原型:__new__(cls, *args, **kwargs) 说明:__new__魔法方法用于对象的实例化,作用于__init__初始化对象之前.其中cls为需要实例化的类.new方法必须有返回值,即为实例化后的对象.可以被用于创建单例模式,限制该类实例化的对象个数. class SingleTon(object): instance = {} def __new__(cls, *ar…
Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数
Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: 就是迭代器 生成器产生的方式: 1.生成器函数…
python中的魔术属性与魔法方法
1.魔法属性 · 1.1__doc__魔法属性 表示类的描述信息 class Fo: """ 这是今天第一个魔术属性__doc__""" def func(self): pass print(Fo.__doc__) 运行结果 这是今天第一个魔术属性__doc__ 1.2.__moudle__魔法属性 表示当前操作的对象在那个模块 dome1.py # -*- coding:utf-8 -*- class Person(object): def…
面向对象相关概念与在python中的面向对象知识(魔法方法+反射+元类+鸭子类型)
面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明(注意:对外透明的意思是,外部调用者可以顺利的得到自己想要的任何功能,完全意识不到内部细节的存在)优点: 1.控制对数据的操作将数据隐藏起来这不是目的.隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制2.隐藏实现方法实现代码例如:#取款…
python中几个常见的魔法方法
首先,什么是魔法方法呢?在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做"魔法"方法. __ init__()方法 当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用. __ init __()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参数,那么__init __()方法除了self作为第一个形参外还需要2个形参,例如__init __(self,x,y). 之前我们是这样给对象添加属性的: class Student: p…
Python笔记(二十六)_魔法方法_属性的魔法方法
属性的魔法方法 __getattribute__(self,name):当该类的属性被访问时,自动触发,是最先被触发的属性方法 __setattr__(self,name,value):当一个属性被设置时,自动触发 __delattr__(self,name):当一个属性被删除时,自动触发 >>>class C: def __getattribute__(self,name): print('getattribute') def __getattr__(self,name): print…
Python学习笔记(七)——魔法方法
1.构造和析造 魔法方法就是被双下划线包围的方法 __init__()方法 __init__方法默认没有参数,返回值为none.类实例化对象需有明确的初始化步骤要重写函数 >>> class Rectangle: def __init__(self,x,y): self.x = x self.y = y def getPeri(self): return (self.x+self.y)*2 def getArea(self): return self.x * self.y >>…
Python笔记(二十八)_魔法方法_迭代器
迭代器用于遍历容器中的数据,但它不是容器,它是一个实现了__next__方法的对象 与迭代器相关的内置函数: iter(): 将一个对象转换成一个迭代器 next(): 访问迭代器中的下一个变量,直到无可用变量,则抛出StopIteration异常 >>>string = 'demi' >>>name = iter(string) >>>next(name) 'd' >>>next(name) 'e' >>>for…
python语法学习第十天--魔法方法
魔法方法二!!! 属性访问:在对属性任何操作时,都会调用 有关属性 __getattr__(self, name) 定义当用户试图获取一个不存在的属性时的行为 __getattribute__(self, name) 定义当该类的属性被访问时的行为 __setattr__(self, name, value) 定义当一个属性被设置时的行为 __delattr__(self, name) 定义当一个属性被删除时的行为 __dir__(self) 定义当 dir() 被调用时的行为 __get_…
Python进阶-XVIV 类的内置方法:__str__ 、__repr__、析构函数(__del__)、双下的call,eq,new,hash 以及item相关的三个方法
类的内置方法 它与内置函数有紧密的联系,有的内置函数就是调用的内置方法. 在顶级父类obj中有: 两个双下方法 obj.__str__ str(obj) obj.__repr__ repr(obj) 1.__str__ 与 __repr__ class Teacher: def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return "Teacher's objec…