本文目录一览:
python类中属性方法的事件
1普通方法:直接用self调用的方法。
2私有方法:__函数名,只能在类中被调用的方法。
3属性方法:@property,将方法伪装成为属性,让代码看起来更合理。
4特殊方法(双下划线方法):以__init__为例,是用来封装实例化对象的属性,只要是实例化对象就一定会执行__init方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object(python 3.x)类,执行类中的__init__方法。
5类方法:通过类名的调用去操作公共模板中的属性和方法。
6静态方法:不用传入类空间、对象的方法, 作用是保证代码的一致性,规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中。
python类方法问题
@classmethod
def new_square(cls, side_length):
return cls(side_length, side_length)
@classmethod表示函数new_square是Rectangle类里面创建一个成员函数
cls表示调用当前的类名
side_length是函数的一个要传的参数
return cls(side_length, side_length)表示返回调用Rectangle类的构造函数def __init__(self, width, height)初始化后的类
所以square = Rectangle.new_square(5)表示调用Rectangle类的成员函数new_square,初始化Rectangle类并返回
print(square.calculate_area())表示调用Rectangle类的计算面积函数,并打印输出
因此5传给side_length变量,又调用__init__函数为self.width和self.height赋值为5,
调用print(square.calculate_area())打印self.width * self.height=5*5=25
关于python的实例方法问题?
题主你好,
python中创建新实例的时候, 如果相应的类中定义了__init__()方法的话, 会自动调用这个方法. 你可能认为名称"init"和"__init__"差不多, 但计算机其实是个很笨的东西, 它会完全按照设计去执行. 也就是说,在设计的时候就已经定死了, 默认情况下, 创建新实例的时候, 会自动调用类中定义的__init__()方法, 只要你的方法名和__init__有一点不一样也不行.
下图是我在官网上找的关于__init__()调用的简单说明:
高亮部分说的大概意思就是上面讲的,如果相应类中定义了__init__()方法,则在创建该类实例的时候会自动调用里面定义的__init__()方法.
-----
希望可以帮到题主, 欢迎追问.