为什么有必要在类python(self.x=x)中使用任何带点的字符串?

Why its necessary to use any string with dot point with self in class python(self.x=x)?

本问题已经有最佳答案,请猛点这里访问。

我在python中学习oop,所以我在正确理解sefl关键字方面遇到了一些问题。

假设一个程序:

1
2
3
4
5
6
7
8
9
10
class ge:
   def __init__(self,a,b):
      self.p=a
      self.l=b
   def ff(self):
      aaa=self.p+self.l
      print(aaa)

hh=ge(1,2)
hh.ff()

我很困惑为什么有必要用带点的self字符串?这意味着什么?像:

self.a=a,我们可以改变self.a到ay字符串,就像self.b,self.c,它意味着什么?为什么有必要?

我的第二个问题是:

用参数定义类和不用参数定义类有什么区别?

1
2
3
4
5
6
7
8
9
10
class hello(object):
   def __init__(self,a,v):
      self.a=a
      self.v=v
   def p(self):
      f=self.a+self.v
      print(f)

he=hello(1,2)
he.p()

如果我定义class hello(object)工作,但如果我将类定义为:class hello():也起作用但如果我定义如下:class hello:也起作用

hello(object):类、class hello()类、class hello:类的区别是什么?


第一个问题:这个问题的副本

第二个问题:不同的符号没有区别。当使用括号时,意味着类继承自括号之间的类。

在python 3中,默认情况下每个类都继承自类object。因此,hello(object):class hello():class hello:是完全等效的。但是,在Python2中,必须显式继承。

下面是关于如何在Python中创建类的更多详细信息。


用自己来引用类的实例,在Java中是这样的

复制:在Python中什么时候使用"self"?