摘要: 使用实例引用类的属性时,会发生动态绑定。即python会在实例每次引用类属性时,将对应的类属性绑定到实例上。 动态绑定的例子: 输出结果: 从上述代码中可以看到,类方法的变化是实时影响实例对方法的调用的,这说明python是在实例调用方法的过程中动态地查找类方法。 动态绑定的代价: 上图两个循环中, 阅读全文
posted @ 2019-06-07 23:58 luoheng 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 类属性只有类及其实例能够访问,可以理解为一个独立的命名空间。 Python中类属性的引用方式有两种: 1. 通过类的实例进行属性引用,称为绑定方法(bound method),可以理解为方法与实例绑定在一起。 2. 通过类进行属性引用,称为非绑定方法(unbound method),方法没有与实例绑 阅读全文
posted @ 2019-06-07 23:30 luoheng 阅读(1807) 评论(0) 推荐(0) 编辑
摘要: 实例是具象化的类,它可以作为类访问所有静态绑定到类上的属性,包括类变量与方法,也可以作为实例访问动态绑定到实例上的属性。 实例1: 输出结果: test1中演示了实例对类变量的访问与修改,从输出结果可以看到,类变量work和kind的列表被修改了,而another的值没有发生变化,说明如果类变量是可 阅读全文
posted @ 2019-06-07 19:03 luoheng 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 在Python中,生成器和函数很像,都是在运行的过程中才会去确定各种变量的值,所以在很多情况下,会导致各种各样的问题。 在Python中,生成器和函数很像,都是在运行的过程中才会去确定各种变量的值,所以在很多情况下,会导致各种各样的问题。 输出结果为: 输出结果为: 上述代码中,x_filter是基 阅读全文
posted @ 2019-06-07 13:22 luoheng 阅读(151) 评论(0) 推荐(0) 编辑
摘要: is用来判断两个对象是不是同一个对象,通过id()函数取对象地址进行判断。python会缓存一些小的整数,以及只包含字母数字以及下划线的字符串。所以在对于这些值的时候,is判断为True。 is用来判断两个对象是不是同一个对象,通过id()函数取对象地址进行判断。python会缓存一些小的整数,以及 阅读全文
posted @ 2019-06-07 13:20 luoheng 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 问题:在windows系统中,换行的符号是'\r\n'。python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行。但是在windows文件中,可能在同一行中同时存在'\n','\r\n','\r'。这个时候python的默认行为会将一行拆分成多行输出,影响预期结果。 阅读全文
posted @ 2019-06-07 13:18 luoheng 阅读(3757) 评论(0) 推荐(0) 编辑
摘要: 在python中,用for对列表进行遍历的时候,迭代器中维护的是列表的索引而不是列表的元素。也就是说,for循环是对索引进行迭代,如果在for循环过程中修改了列表,迭代出来的值是新列表的索引位置,如果索引超过了新列表的范围,循环终止。 在python中,用for对列表进行遍历的时候,迭代器中维护的是 阅读全文
posted @ 2019-06-07 13:14 luoheng 阅读(432) 评论(0) 推荐(0) 编辑