Pfeffer 2019-05-18 21:07 采纳率: 50%
浏览 1698
已采纳

python 关于对象实例化的问题

class Node(object): # self 当我们实例化一个对象的情况下,再去调用这个函数的时候,这个实例就是self
    def __init__(self, data, next = None):
        self.data = data
        self.next = next

class Stack(object): #用到的模块更多
    def __init__(self, top = None): # none 就是一个对象
        self.top = top

    def push(self,data):
        #创建新的节点放到栈顶
        self.top = Node(data, self.top)

    def pop(self):
        #拿出栈顶元素,原来的栈发生改变
        if self.top is None:
            return None
        data = self.top.data
        self.top = self.top.next
        return data

    def peek(self):
        #查看栈顶元素,原来的栈不变
        return self.top.data if self.top is not None else None

    def isEmpty(self):
        return self.peek() is None


if __name__ == "__main__":  #别的模块调用这个模块下程序的入口
    stack = Stack()
    stack1 = stack.push(1)
    stack1 = stack.push(2)
    print stack.peek(), #查看栈顶元素
    stack.pop()
    print stack.peek()
#输出: 2 1

这个是python stack()的源代码,这里面出现了top,data,但是并没有声明对象的类型? Python中不声明对象类型,是可以用任何类型吗还是什么意思?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-05-18 23:56
    关注

    python是弱类型语言,会自动推断类型,而不需要申明。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)