1 python2和python3区别
代码块:不同点1
Python2x: 各种按照自己代码的习惯给python贡献源码:(java的源码的习惯,C#源码的习惯),导致:源码混乱,重复代码高.
python3x:龟叔重写.源码 优美,清晰,简单.
代码块:不同点2
python2x : print() /print range()/ raw_input()/ input(数字) /等等
python3x : print() /range() 可迭代对象 / input() 等等
2 类方法: @classmethod
代码块
只能有类名调用(对象调用,传给cls参数的也是该对象的所属类).
使用场景:
1,无需对象参与.
2,对类中的静态变量进行修改.
3,在父类中类方法得到子类的类空间,为所欲为.
3 通过类方法调用(可以不用对象调用,用类类调用)
代码块
class A:
def func(self):
print('这是一个普通方法')
@classmethod
def func1(cls):
print('这个是类方法')
print(A.func1()) #类方法,通过类名,不通过对象,
4 类方法的应用场景
4.1
场景一:不需要对象参与,直接通过类调用
4.2
场景二: 对类中的静态变量进行改变,要用类方法.
4.3
继承中,父类得到子类的类空间.
代码块
class A:
name='wangsiyu'
@classmethod
def func(cls): #调用类方法不需要对象,
# cls.name='hello' #对B中内容name进行修改
print(cls.name)
class B(A):
name='alex'
A.func()
B.func()
5静态方法staticmethod
和普通函数没有什么区别,只不过把他放到类里面,更容易继承和管理,减少代码



网友评论