Python两类定义的区别

2024-09-30 12:11:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我是编程新手,我想知道这两个类定义之间的区别是什么?哪一个是更好更安全的定义? 有实例变量的还是有构造函数方法的?你知道吗

谢谢

class MyClass1:

    def doAdd (self,val1=0,val2=0):

        sum1=val1+val2

        print("MyClass1")

        print ("{0}+{1}={2}".format(val1,val2,sum1))

class MyClass2: 

    def __init__(self,val1=0,val2=0):

        self.val1=val1

        self.val2=val2

    def doAdd(self):

        sum2=self.val1+self.val2

        print("MyClass2")

        print("{0}+{1}={2}".format(self.val1,self.val2,sum2)) 

obj1=MyClass1()

obj1.doAdd(1,2)

obj2=MyClass2(1,2)

obj2.doAdd()

MyClass1

1+2=3

MyClass2

1+2=3

Tags: selfformat定义defclassprintval1obj2
1条回答
网友
1楼 · 发布于 2024-09-30 12:11:36

MyClass1

您可能希望执行加法并将和存储在__init__()方法中,以避免每次调用doAdd()时都重新计算它。就像@gragas所说的,这个方法可以让您存储数据,以便以后在其他方法中使用。你知道吗

MyClass2

这里没有使用任何面向对象的特性,所以它可能只是一个常规函数。你知道吗

def doAdd(val1=0, val2=0):
    return val1 + val2

print(doAdd(1, 2))

相关问题 更多 >

    热门问题