遇到的坑-对象之间的关系(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()
上图
哇,果然是,我emmm…,脑子容易忘记事情
萌新再学之前,还是先学以下语言的高级特性再来学数据结构哇