gpt4 book ai didi

python - 与类(class)相关的问题

转载 作者:行者123 更新时间:2023-11-28 20:36:23 25 4
gpt4 key购买 nike

在以下代码中,我在理解 Python 中的一些数据结构概念时遇到了问题。

class Stack(object):                        #1
def __init__(self): #2
self.items=[]

def isEmpty(self):
return self.items ==[]

def push(self,item):
self.items.append(item)

def pop(self):
self.items.pop()

def peak(self):
return self.items[len(self.items)-1]

def size(self):
return len(self.items)

s = Stack()
s.push(3)
s.push(7)

print(s.peak())
print (s.size())
s.pop()
print (s.size())

print (s.isEmpty())
    1. 我不明白这个对象参数是什么
    2. 我用 (obj) 替换了它,但它产生了一个错误,为什么?
    3. 我尝试删除它并且效果很好,为什么?
    1. 为什么我有 __init__ 来设置构造函数?
    2. self 是一个参数,但它是如何被传递的呢?它代表哪个对象,它自己的类?

谢谢。

最佳答案

  1. object 是一个类,Stack 类继承自该类。没有类 obj,因此出错。但是,您可以定义一个类不继承任何东西(至少在 Python 2 中)。
  2. self 表示调用方法的对象;为了例如,当您执行 s.pop() 时,self 内部方法 pop 指的是与 s 相同的对象 - 它不是一个类,它是该类的一个实例

关于python - 与类(class)相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45187703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com