-
函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。查看全部
-
一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。查看全部
-
继承的特点 不要忘记调用 super().__init__ super(SubClass,self).__init__(args)查看全部
-
Python 编码时应该注意的几件事情 http://www.iteye.com/news/25125 后面需要看一下查看全部
-
和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。查看全部
-
直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。查看全部
-
我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象: 也就是说,p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。 因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法查看全部
-
dict的items函数返回的是键值对的元组的列表,而iteritems使用的是键值对的generator。 items当使用时会调用整个列表 iteritems当使用时只会调用值。 >>> d = {'a':1,'b':2} >>> for i in d.items() .... print i ('a',1) ('b',2) >>>for k,v in d.iteritems() ... print k,v ('a',1) ('b',2)查看全部
-
1、一个实例的私有属性就是以__开头的属性,无法被外部访问。 2、虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的: 3、调用实例方法必须在实例上调用。在实例方法内部,可以访问所有实例属性,这样,如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度。查看全部
-
1.当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问 2.千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性查看全部
-
items()和iteritems()方法都普遍用于for循环的迭代中,不同的是items()返回的是列表对象,而iteritems()返回的是迭代器对象。两者的用法差不多,但iteritems()的性能更快。查看全部
-
类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 定义类属性可以直接在 class 中定义: class Person(object): address = 'Earth' def __init__(self, name): self.name = name查看全部
-
传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。查看全部
-
for k,v in kw.iteritems(): setattr(self,k,v)查看全部
-
Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。 以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。查看全部
举报
0/150
提交
取消