[置顶] Python3中的__new__方法以及继承不可变类型类的问题

摘要: 最近在学到Python中的__new__方法时被弄懵逼了,一开始实在是很难理解,有很多地方想不通(本人强迫症)。最近自己慢慢思索得出了能说服自己的理解: 说__new__方法之前要先提到__init__方法,__init__方法是普遍认为的Python类的构造方法,在我们对类进行实例化的时候,Pyt 阅读全文

posted @ 2019-03-25 21:38 与燕分茶 阅读(1743) 评论(0) 推荐(0) 编辑

2020年1月31日

对于Python中的字节串bytes和字符串以及转义字符的新的认识

摘要: 事情的起因是之前同学叫我帮他用Python修改一个压缩包的二进制内容用来做fuzz,根据他的要求,把压缩包test.rar以十六进制的方式打开,每次修改其中一个十六进制字符串并保存为一个新的rar用来fuzz,于是我本来的打算是用传统的 open()函数来实现 file = open('test.r 阅读全文

posted @ 2020-01-31 22:59 与燕分茶 阅读(2586) 评论(0) 推荐(0) 编辑

2019年2月13日

Python中关于__main__变量的问题

摘要: 在Python代码的编写中,经常会用到这么一句: 这句代码之前的语句在整个模块被其他文件调用的时候会被运行,而这句代码之后的语句则不会,经过多次的查阅资料,我得出一下的解释: __name__变量在单独运行此模块(.py文件)时,其表示的内容为”__main__",而当这个模块被其他模块调用时,__ 阅读全文

posted @ 2019-02-13 22:15 与燕分茶 阅读(325) 评论(0) 推荐(0) 编辑

Python里使用转义字符\r时遇到的问题

摘要: 在Pycharm里使用转义字符\r和在IDLE里使用\r产生的结果是不一样的。 例子如下: 输出结果为: 前面的“你好!"不见了。 而在IDLE里输入同样的语句,输出的结果则为: 你好!我是Python! 这个问题让我一度纠结很久,在查阅资料之后得到如下解释: \n 和 \r 都是特殊控制符,这些都 阅读全文

posted @ 2019-02-13 22:01 与燕分茶 阅读(4231) 评论(0) 推荐(0) 编辑

2019年2月12日

Python3中的super()函数详解

摘要: 关于Python3中的super()函数 我们都知道,在Python3中子类在继承父类的时候,当子类中的方法与父类中的方法重名时,子类中的方法会覆盖父类中的方法, 那么,如果我们想实现同时调用父类和子类中的同名方法,就需要使用到super()这个函数,用法为super().函数名() 下面是一个例子 阅读全文

posted @ 2019-02-12 22:56 与燕分茶 阅读(4015) 评论(0) 推荐(0) 编辑

2019年2月11日

Python中类属性和实例属性的区别

摘要: 在Python中经常会混淆类属性和实例属性的概念,今天专门记录一下个人理解以免日后忘记。 看下面的例子: 运行当然是没有问题的,输出结果为: 但是当我们加入这样一段代码: 运行后会报错,这是因为不能通过类名+属性名的方式去调用实例属性,当类实例化后,只能通过类名去调用方法中的属性。 下面进行这样的操 阅读全文

posted @ 2019-02-11 21:09 与燕分茶 阅读(6330) 评论(0) 推荐(1) 编辑

Python中随机数的生成

摘要: 在Python中要实现随机数的生成,需要使用random模块中randint方法。 其具体实现方法如下: 这样就完成了随机数a的生成。 阅读全文

posted @ 2019-02-11 20:02 与燕分茶 阅读(515) 评论(0) 推荐(0) 编辑

关于Python类的多继承中的__mro__属性使用的C3算法以及继承顺序解释

摘要: 刚刚学到类的多继承这个环节,当子类继承多个父类时,调用的父类中的方法具体是哪一个我们无从得知,为此,在Python中有函数__mro__来表示方法解析顺序。 当前Python3.x的类多重继承算法用的是C3 MRO序列: MRO是一个有序列表L,在类被创建时就计算出来。通用计算公式为:mro(Chi 阅读全文

posted @ 2019-02-11 19:45 与燕分茶 阅读(795) 评论(0) 推荐(0) 编辑

导航