-
这个方法只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。我们可以 实例对象()
查看全部 -
对于运算法则来说,是先将右边的值运算至最后结果,再对左边进行赋值
查看全部 -
利用任意关键字参数+setattr的方法,可以让目标对象快速附上新的属性
查看全部 -
但是在实际调用的时候,会首先查找自身的定义,如果自身有定义,则优先使用自己定义的函数;如果没有定义,则顺着继承链向上找
查看全部 -
Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx
查看全部 -
类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
查看全部 -
实例的方法指的就是在类中定义的函数,实例方法的第一个参数永远都是self,self是一个引用,指向调用该方法的实例对象本身,除此以外,其他参数和普通函数是完全一样的。
查看全部 -
类和实例的私有属性不能被外部访问,可以被类的内部访问查看全部
-
class Animal(object):
localtion = 'Asia
count=0
def __init__(self, name, age):
self.name = name
self. age = age
Animal.count+=1查看全部 -
class Animal(object):
def __init__(self,name, age, ):
self.name=name
self.age=age
animal_cat=Animal("cat",1)
animal_dog=Animal("dog",2)
查看全部 -
在定义继承类的时候,有几点是需要注意的:
- class Student()定义的时候,需要在括号内写明继承的类Person
在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性
super().__init__()是用来初始化父类继承到子类身上的属性的
查看全部 -
私有属性有类和实例对象两大群体
查看全部 -
私有属性是以双下划线'__'开头的属性
在外部访问私有属性将会抛出异常,提示没有这个属性。
虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。私有属性是为了保护类或实例属性不被外部污染而设计的查看全部 -
import time
def performance(f):
def fn(*args, **kw):
t1 = time.time()
r = f(*args, **kw)
t2 = time.time()
print('call %s() in %fs' % (f.__name__, (t2 - t1)))
return r
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print(factorial(10))
查看全部 -
class animal(object):pass dog = animal() cat = animal()查看全部
举报