一、属性的几种访问方式 1、类.属性名 2、用内置函数getattr()访问属性 3、用property方法访问属性 4、各类内置函数访问属性 * __getattr__(self,name) 定义当用户试图获取一个不存在的属性时的行为 * __getattribute__(self,name) 定 ...
分类:
编程语言 时间:
2018-11-06 00:45:13
阅读次数:
153
使用python的魔法方法和time模块定制一个计时器的类 看到这里知道要怎么写了吗,如果还是比较蒙的,那就继续往下看吧 首先用到一个time模块,我们先导入time模块 其次是两个功能,一个是开始时间,一个是结束时间: 基本功能已经实现了,下面需要完成的是print(t1)和直接调用t1均显示结果 ...
分类:
编程语言 时间:
2018-11-04 21:53:05
阅读次数:
246
python2.2之后,对类和类型做了同意,将int()、float()、str()、list()、touple()这些BIF转换为工厂函数 在来看一个例子 它的类型是type类型,也是类对象,其实所谓的工厂函数,就是一个类对象,当你调用他们的时候,实际上就是创建一个实例对象: 由此可以看出,对象是 ...
分类:
编程语言 时间:
2018-11-04 19:35:57
阅读次数:
710
魔法方法总是被双下划线包围,例如:__init__() 魔法方法是面向对象的python的一切,它的魔力体现在总能在合适的时候调用。 先来介绍析构和构造的三个魔法方法: 打印结果: 14 12 这里需要注意的是,__init__()方法的返回值一定是None,不能是其他: 所以一般在需要进行初始化的 ...
分类:
编程语言 时间:
2018-11-04 00:30:07
阅读次数:
221
前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性。 查看内建属性 比较一下发现类和它的实例内建的属性和方法是一样的,函数似乎比类的内建的属性和方法更多,分离出属性: 类的内建属性有: 函数的内建属性有: 前面我们基本介绍过 ...
分类:
编程语言 时间:
2018-10-28 19:29:13
阅读次数:
180
前言 前面我们总结过了python的关键字、运算符、内置函数、语法糖等与python魔法方法之间的关系,现在我们更细一点,看看python的面向对象编程有哪些常用的魔法属性和魔法方法。 魔法属性 对于一个类,python定义了许多可用的魔法属性,有些每个类都默认存在,有些需要用户手动定义。 \_\_ ...
分类:
编程语言 时间:
2018-10-28 19:20:23
阅读次数:
139
前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中;一个模块我们可以看做是一个比类更大的对象。 查看模块的内置属性 我们先创建一个典型的py文件 通过dir()方法我们可以获取到该模块的所有的显式或隐式的属性或方法;可看到隐式的属性有\_ ...
分类:
编程语言 时间:
2018-10-28 19:19:03
阅读次数:
128
魔法方法 含义 基本的魔法方法 基本的魔法方法 有关属性 比较操作符 算数运算符 反运算 增量赋值运算 一元操作符 类型转换 上下文管理(with 语句) 容器类型 ...
分类:
编程语言 时间:
2018-10-27 19:57:06
阅读次数:
104
1、首先定义三种用户类型:普通用户、管理员、超级管理员,不同用户类型的用户权限关系如下: 总结:其实上面代码理解起来也通俗易懂,即使出现重复权限,也可以通过集合单独改造去重,但是这里想升级一下,使用到__add__这个魔法方法 2、升级,改造add()方法: 执行结果: 效果一样,但是出现了重复权限 ...
分类:
其他好文 时间:
2018-10-27 13:26:53
阅读次数:
159
一、魔法方法 1、魔法方法总是被双下划线包围,例如:__init__ 2、为什么在类实例化的时候,有时候需要构造__init__,有时候不需要呢 3、__new(cls[,...]) :实例化对象被调用的第一个魔法方法,它跟其他的魔法方法不一样,它的第一个参数不是self,而是这个类cls . 一般 ...
分类:
编程语言 时间:
2018-10-15 14:21:07
阅读次数:
141