class是python语言关键字吗_编程语言python的类(class)的问题

我初学class,理解不了起运作方式。有个地方看到这样2个class,然后定义了一个函数,没明白,请教一下。classNode():def__init__(self,x):self.value=xself.next=Noneself.previous=N...

我初学class,理解不了起运作方式。有个地方看到这样2个class,然后定义了一个函数,没明白,请教一下。

class Node():

def __init__(self, x):

self.value = x

self.next = None

self.previous = None

class Liste():

def __init__(self):

self.first = None

self.last = None

def add_top(x, l): # x是个数值,l是个链表 #

"""在链表的开头加入元素x"""

n = Node(x)

n.next = l.first

if l.first != None:

l.first.previous = n

l.first = n

if l.last == None:

l.last = n

说的好像是跟链表有关的东西,有人看的懂吗?

这个看不懂也罢,我想问几个问题,不需要明白的上面的类和函数也应该能回答:

1.class里面定义的属性的初始值,会被class外面的函数更改吗,如果改了,是永久更改吗?那class岂不是就变了?

例如上面Liste类里的self.first = None,初始值是None,这个None可以被改变吗?怎么改变?函数add_top有个l.first = n,这个就使得Liste类里的self.first=n 吗?

2.上面函数add_top里有个n=Node(x),此时,n是个什么东西呢?是个数值并且该数值等于x吗?如果我直接用命令print node(3),python会返回<__main__.node instance at>,这个是什么意思,我只知道好像是内存里存了个什么的意思,具体怎么回事?

3.l.first.previous = n 像这样连续使用2个点,接2个属性,是怎么回事?如果作用的?是把第一部分l.first返回的值,作为下一个属性previous的对象吗?

我类和对象的确搞得不是很清楚,因为根本就没人教,我自己也没有比较权威细致的教材,网上看的一点,讲的很模糊,所以不明白。(上面得class和函数可不是我自己写的,是一个教材上的,绝对正确)

如果不看上面那么长的部分,就请只回答下面3个问题

谢谢

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值