首页 > 编程知识 正文

python类方法问题(Python编程与问题求解)

时间:2023-12-19 00:42:51 阅读:317452 作者:PVPV

本文目录一览:

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__()方法.

-----

希望可以帮到题主, 欢迎追问.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。