python - Python 中的所有变量都是类的某个对象吗?还是他们自己上课?

标签 python class object oop

我是编程的初学者,所以这可能是一个荒谬或简单的问题。

我试图准确理解“方法”是什么。标准答案是它是与类关联的函数。语法似乎类似于 user Gustav Rubio's answer即,

class Door:
  def open(self):
    print 'hello stranger'

def knock_door:
  a_door = Door()
  Door.open(a_door)

knock_door()

所以该方法是 open(),因为它与类 Door 关联。

但是如果我们定义一个列表,我们也可以使用“附加方法”,它看起来像

my_list = ["milk", "eggs"]
my_list.append("bread")

那么这是否意味着每个列表都是一个类?既然我们是以class_name.method_name的形式写的?一般来说,每个变量都是一个类的特例吗?还是这里对术语“方法”有其他用法?

如果这对于此表单来说太基础了,我再次表示歉意。我还想知道是否有非溢出版本,很像 mathstackexchange vs mathoverflow 来解决更基本的问题?

最佳答案

Python 是一种面向对象的语言,其中每个变量都是一个对象/对对象的引用

看下面的代码,

class Hi:
   pass

>>> h = Hi()
>>> type(h)
<class '__main__.Hi'>
>>>

这是预料之中的。现在让我们看一个列表,

>>> mylist = []
>>> type(mylist)
<class 'list'>
>>>

我们可以看到mylist确实是list类的一个对象。它是一个实例而不是类本身,因为其中的方法只会影响 mylist 实例。

列表数据类型还有一些方法。这里是列表对象的所有方法”。取自 python 的官方“列表”文档。 https://docs.python.org/3/tutorial/datastructures.html

从上面的语句中,我们可以清楚地了解到mylistlist类的一个对象,而不是类本身。

关于python - Python 中的所有变量都是类的某个对象吗?还是他们自己上课?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68780794/

相关文章:

python - 如何打印要演奏的音符数量?

python - 用 BeautifulSoup 用 xml 处理编码错误

class - 方法未定义(类型没有方法)

javascript - 为什么 Javascript 显示错误的日期?

JavaScript 数组值设置错误?

python - 正在定义的类型对象的类型提示

python - 在 python 中使用大型字典? (性能和崩溃)

c++ - 哪个是用于编程竞赛的优秀 C++ BigInteger 类?

python - 如何从 tkinter 中的单选按钮获取值?

javascript - JS : Create a method to return an array that does not include the index values from the array passed to my method