-
通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。查看全部
-
一个实例的私有属性就是以__开头的属性,无法被外部访问,那这些属性定义有什么用? 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的 在实例方法内部,可以访问所有实例属性,这样,如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度查看全部
-
当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问查看全部
-
允许有变量 支持高阶函数查看全部
-
__slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。查看全部
-
类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。查看全部
-
编写一个f函数,接收x和y,返回x和y的和: def f(x, y): return x + y 调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算: 先计算头两个元素:f(1, 3),结果为4; 再把结果和第3个元素计算:f(4, 5),结果为9; 再把结果和第4个元素计算:f(9, 7),结果为16; 再把结果和第5个元素计算:f(16, 9),结果为25; 由于没有更多的元素了,计算结束,返回结果25。 上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。查看全部
-
可以利用map()函数完成这个计算: def f(x): return x*x print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) 输出结果: [1, 4, 9, 10, 25, 36, 49, 64, 81] 注意:map()函数不改变原有的 list,而是返回一个新的 list。 upper() 大写 lower() 小写 capitalize() 首字母大写 title() 首单词首字母大写查看全部
-
rrrr查看全部
-
首先定义一个类C: class C: def __init__(self): self.__x=None 下面就开始定义属性了 @property def x(self): return self.__x @x.setter def x(self,value): self.__x=value @x.deleter def x(self): del self.__x 同一属性的三个函数名要相同哦。查看全部
-
欧几里德算法又称辗转相除法,用于计算两个整数m, n的最大公约数。其计算原理依赖于下面的定理: gcd(m, n) = gcd(n, m mod n) 这个定理的意思是:整数m、n的最大公约数等于n和m除以n的余数的最大公约数。 例如:有两个整数:120和45,我们按照上面的方法求他们的最大公约数。 1. gcd(120, 45) = gcd(45, 120 % 45) = gcd(45, 30) 2. gcd(45, 30) = gcd(30, 45 % 30) = gcd(30, 15) 3. gcd(30, 15) = gcd(15, 30 % 15) = gcd(15, 0) = 15 当 m % n 等于零时,即求15和0的最大公约数时,这个循环应该终止,15就是120和45的最大公约数。查看全部
-
Python定义了__str()和__repr()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 有一个偷懒的定义__repr__()的方法:__repr__=__str__查看全部
-
Python特殊方法的特点: 特殊方法定义在class中 不需要直接调用 Python的某些函数或操作符会调用对应的特殊方法查看全部
-
下载第三方模块的网站查看全部
-
安装第三方的方法查看全部
举报
0/150
提交
取消