本文目录一览:
python类中属性方法的事件
- 普通方法:直接用
self
调用的方法。 - 私有方法:
__函数名
,只能在类中被调用的方法。 - 属性方法:
@property
,将方法伪装成为属性,让代码看起来更合理。 - 特殊方法(双下划线方法):以
__init__
为例,是用来封装实例化对象的属性,只要实例化对象就一定会执行__init__
方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object
(Python 3.x)类,执行类中的__init__
方法。 - 类方法:通过类名的调用去操作公共模板中的属性和方法。
- 静态方法:不用传入类空间、对象的方法,作用是保证代码的一致性、规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(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
类的构造函数__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__()
方法。
希望可以帮到题主,欢迎追问。