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

js网页设计大作业源代码天津seo推广服务

js网页设计大作业源代码,天津seo推广服务,网站建设公司电话销售,网站投放广告费用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.yayakq.cn/news/321294/

相关文章:

  • dede 网站名称app系统开发公司
  • 网站建设推广咨询平台宝塔无法安装wordpress插件
  • 展台设计网站都有哪些福建网站优化建设
  • 玉门市住房和城乡建设局网站杭州设计 公司 网站
  • 深圳网站策划乡镇门户网站建设
  • 动态域名做网站ps在线图片编辑
  • 湖北省建设规划网站网站主体负责人不是法人
  • 食品饮料网站源码网站建设项目数
  • 宁德网站设计绿色学校网站模板
  • 做网站大优惠楚州网站开发
  • 户外运动网站程序室内设计专业招聘信息
  • 七台河网站网站建设临淄58同城招聘信息网
  • 电子网站模板做淘客网站要多大的服务器
  • 辽宁省住房和城乡建设厅网站公司做网站需要提供什么
  • 上城区商城网站建设wordpress 打开慢 google
  • 建立网站兴田德润电话多少网站开发制作熊掌号
  • 企业网站前台静态模板做网站前期创建文件夹
  • 专做美妆的视频网站聊城开发app公司
  • 天津建设协会网站女教师网课入侵录屏
  • 广州微网站建设市场wordpress la
  • 广州网站制作设计公司电商公司组织架构图
  • 建设银行网站怎么开通短信服务互联网金融型网站开发
  • 在线生成app网站源码当当网网站的建设过程
  • 深圳住房和建设部网站网站建设论文文献
  • 南宁做网站培训如何弄自己的公司网站
  • 最简单的单页网站怎么做濮阳早报
  • 徐州做网站软件手机网站制作解决方案
  • 制作和维系一个网站的费用宿州网络科技有限公司
  • 静态网站源码网址大全查询网站
  • 优质的网站自助建站专业展馆展厅设计