当前位置: 首页 > news >正文

wordpress wiki 模版搜索引擎技术优化

wordpress wiki 模版,搜索引擎技术优化,视频下载网站免费,台州首页关键词优化python特殊方法(magic方法也叫魔术方法) 魔法方法是python的内置函数,一般以双下划线开头和结尾, 构造和初始化 每个人都知道一个最基本的魔术方法, init 。 通过此方法我们可以定义一个对象的初始操作。 然而,当我调用 x S…

python特殊方法(magic方法也叫魔术方法)

魔法方法是python的内置函数,一般以双下划线开头和结尾,

构造和初始化

每个人都知道一个最基本的魔术方法, init 。

通过此方法我们可以定义一个对象的初始操作。

然而,当我调用 x = SomeClass() 的时候, init 并不是第一个被调用的方法。

实际上,还有一个叫做 new 的方法,来构造这个实例。

然后给在开始创建时候的初始化函数来传递参数。

在对象生命周期的另一端,也有一个 del 方法。我们现在来近距离的看一看这三个方法:

new(cls, [...) new 是在一个对象实例化的时候所调用的第一个方法。它的第一个参数是这个类,其他的参数是用来直接传递给 init 方法。 new 方法相当不常用,但是它有自己的特性,特别是当继承一个不可变的类型比如一个tuple或者string。我不希望在 new 上有太多细节,因为并不是很有用处,但是在 Python文档 中有详细的阐述。

init(self, […) 此方法为类的初始化方法。当构造函数被调用的时候的任何参数都将会传给它。(比如如果我们调用 x = SomeClass(10, 'foo')),那么 init 将会得到两个参数10和foo。 init 在Python的类定义中被广泛用到。

del(self) 如果 new 和 init 是对象的构造器的话,那么 del 就是析构器。它不实现语句 del x (以上代码将不会翻译为 x.del() )。它定义的是当一个对象进行垃圾回收时候的行为。当一个对象在删除的时需要更多的清洁工作的时候此方法会很有用,比如套接字对象或者是文件对象。注意,如果解释器退出的时候对象还存存在,就不能保证 del 能够被执行,所以 del can’t serve as a replacement for good coding practices ()~~~

放在一起的话,这里是一个 init 和 del

实际使用的例子

from os.path import joinclass FileObject:'''给文件对象进行包装从而确认在删除时文件流关闭'''def __init__(self, filepath='~', filename='sample.txt'):#读写模式打开一个文件self.file = open(join(filepath, filename), 'r+')def __del__(self):self.file.close()del self.file

name

代码入口在此——这是“if name==’main:”这条代码的意义之一。1. name的理解1.1 为什么使用name属性?Python解释器在导入模块时,会将模块中没有缩进的代码全部执行一遍(模块就是一个独立的Python文件)。开发人员通常会在模块下方增加一些测试代码,为了避免这些测试代码在模块被导入后执行,可以利用name属性。

当你要导入某个模块,但又不想改模块的部分代码被直接执行,那就可以这一部分代码放在“if name=='main':”内部。

其他方法和属性

__init__ :      构造函数,在生成对象时调用
__del__ :       析构函数,释放对象时使用
__repr__ :      打印,转换
__setitem__ :   按照索引赋值
__getitem__:    按照索引获取值
__len__:        获得长度
__cmp__:        比较运算
__call__:       调用
__add__:        加运算
__sub__:        减运算
__mul__:        乘运算
__div__:        除运算
__mod__:        求余运算
__pow__:        幂

call() 如果为一个类编写了该方法,那么在该类的实例后面加括号,可会调用这个方法。

注:构造方法的执行是由类加括号执行的,即:对象 = 类名(),而对于call() 方法,是由对象后加括号触发的,即:对象() 或者 类()()

getitem()、setitem()、delitem() 取值、赋值、删除这“三剑客”的套路,在Python中,我们已经见过很多次了,比如前面的@property装饰器。

Python中,标识符后面加圆括号,通常代表执行或调用方法的意思。而在标识符后面加中括号[],通常代表取值的意思。Python设计了getitem()、setitem()、delitem()这三个特殊成员,用于执行与中括号有关的动作。它们分别表示取值、赋值、删除数据。

http://www.mmbaike.com/news/63368.html

相关文章:

  • 手机网站打开很慢网址大全网站
  • 导航在左侧的网站欣赏百度收录最新方法
  • 广州市官方网站优化大师是什么软件
  • 温州企业自助建站系统网站营销网
  • 网站推广成本seo优化网站推广
  • 动漫做的游戏 迅雷下载网站世界足球排名最新
  • discuz!网站模板企业信息查询
  • 河南免费网站建设百度舆情
  • 门户网站做等级保护测评厦门seo排名收费
  • 政府门户网站建设方案seo管理
  • 做调查问卷赚钱网站如何做好营销推广
  • 中国企业查询官网深圳企业seo
  • 做国际网站需要多少钱哪里注册域名最便宜
  • 做网站的怎样找客户上海seo推广公司
  • 免费设计手写签名优化网站排名公司
  • windows 2003 取消网站访问密码湖南专业seo优化
  • 珠海专业制作网站免费发布推广的网站有哪些
  • 网站的投票系统怎么做seo营销培训
  • 网站头部导航样式正规网络教育培训机构
  • 网站认证打款怎么做分录seo优化工作内容
  • 网站设计公司 广州软文素材网站
  • html5 电商网站布局天津网站建设优化
  • 网站运营优化培训属于seo网站优化
  • wordpress判断当前url长春网站优化咨询
  • 重庆云阳网站建设报价最佳搜索引擎
  • 国外html5网站模板指数查询
  • 河北网站建设seo成功案例分析
  • 互联网门户网站有哪些优化营商环境 提升服务效能
  • 汽车低价网站建设爱情链接
  • 杭州做企业网站企业线上培训平台