欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

遇到的坑-对象之间的关系(1)

程序员文章站 2023-12-27 12:02:09
...

啊啊啊,关于这篇文章,有很多问题,我自己又去调试了一下,发现不是那么回事。 这里是最新的关于这个问题的分析

https://blog.csdn.net/douziaaa/article/details/106046946
前言:
这两天用python过一遍基础数据结构,突然看着就卡壳了,先来看下之前的代码,然后再分析卡在那里。

class Node():
    '''创建单链表节点类'''
    def __init__(self,data,next=None):
        self.data = data
        self.next = next

class LinkedList():
    '''定义单链表类'''
    def __init__(self):
        # 初始化链表指针和链表长度
        self.head = None
        self.length = 0
    
    def createlinkedlist(self):
        '''创建单链表'''
        for count in [11, 14, 15, 22, 232]:
            self.head = Node(count, self.head)
            self.length += 1
        # print(self.head.data, self.length)
        return self.head,self.length  

    def searchindex(self,index):
        '''访问链表的某一项'''
        cur = self.head
        while index > 0:
            cur = cur.next
            index -= 1
        print(head.data)

好了,请观察 LinkedList类中的searchindex方法,我们拿出来看

    def searchindex(self,index):
        '''访问链表的某一项'''
        cur = self.head
        while index > 0:
            cur = cur.next
            index -= 1
        print(head.data)

第三行
cur = cur.next
蛮正常的啊,就是个赋值语句啊,有撒子问题麻!!!
嗯?????next是那里来的?????,emmm

好吧 我去找了一下过去学习的笔记,emm,好吧,我知道了,这是python内置的next()方法,用于
返回迭代器的下一个项目。光说怎么能行呢,我们试一试,来打开ipython3
导入包
from collections import Iterable
我们来定义一个类

class Test(): 
     def __init__(self,name): 
        self.name = name 
     def get(self): 
           print(isinstance(self.name,Iterable)) 

再来实例化以下
test = Test([11,22,44,55])
看结果
test.get()
上图
遇到的坑-对象之间的关系(1)
哇,果然是,我emmm…,脑子容易忘记事情

萌新再学之前,还是先学以下语言的高级特性再来学数据结构哇

相关标签: 那些年遇到的坑

上一篇:

下一篇: