00:00
好,我们上次呢,了解到了这个a pen的追加,那追加之外还有什么呢?我们来看一下,首先呢,打一个list,打一个点,然后呢,N ta ABB就有提示啊,Pen的后面有一个东西叫什么呢?Clear clear紧挨着就得到这个clear clear什么意思呢?我不知道,那我打一个clear。他说这个是一个方法,是一个类似对象的方法。不会怎么办呢?那喊救命呗。救命。很救命,之后呢,发现这clear有一个参数叫self。就一个参数,这self是什么意思呢?Self啊,就是自己谁自己呀谁调用。那就是谁自己,也就是说它是一个成员方法,它的前面呢,得有一个东西在调用它,Clear才能起到作用,怎么用?我们现在首先定一个number list.是一个数字列表,012有三个数字,那恩least的可是什么呢?我们看一下就是012,这个数字列表可以清空吗?我们一定要用它叫。
01:13
再观察它,它就清空了,谁调用的clear呢?就是这个恩利色,这个恩利色调用的clear clear.那这个恩list斯什么意思,我们又不知道,喊救命呗,对,恩list喊救命,它是一个什么呀?它是一个list类的一个对象是吧?什么是list类内建的可变的序列对吧?内建的可变的序列,那么这是一个类,是一个class,那什么是类回忆,回忆。类是一种抽象的数据类型,比如说具体的汽车,哎,那是一辆具体的吉普,那它呢,呃,属于一个汽车类的一个实例对象。哎,那这辆吉普可以调用自己的方法,它可以启动引擎,它可以加速,可以刹车,那另一辆比如说别的啊卡车,你可以调用它自己的启动加速或者刹车,各是各的互相不影响,那这个东西呢,就是累,那列表呢,就是一种抽象的数据类型,我们刚才说了是内建的可变的一种序列。
02:23
那它里面有什么呢?我们CTRLF可以翻到这里面有有aend,有clear,我们注意到它的第一个参数都是self self什么意思来着,就是自己,谁自己呢,谁调用这个方法就是谁自己。比如说这个list,我们调用一aendd。9那么恩利本身。就怎么样,就是就不是空列表了。排恩利斯调用clear clear, 那恩利斯就自己清空,为什么要清空呢?那比如说有个排个队,那前面东西卖没了,这队不就清空了吗?
03:03
想要了解有什么样的实际的应用?比如说这儿有一个超市,超市里面呢有收银员,我想啊,这个收银员结账,这儿来一个顾客,鸡蛋,面包,牛奶,然后算总价,这个结完账之后,下一个是什么菠菜,诶豆豉鲮鱼,那就是再算账,那行不行呢?我们对AI提出要求,他给我们这么一个文档。然后我们这边CTRLD不要在游乐场里做了,编辑一个叫T.PY的东西进行测试。回过来双引号到这儿,双引号,注意这个位置加号,然后大写P。他上来之后呢,做一个死循环,然后把这个数目字儿呢清成空列表。哎,然后就开始输入这个数字,什么时候停止呢?输入ED的时候停止,哎,如果它输入不合法呢,会有一个容错就是。
04:06
就不不把它添加进来,把加进来,那我们保存并运行一下,保存并用PYTHON3去运行当前文件。比如说来一个2块的,再来一个4块的,哎,然后呢,输入ED结束,输入ED结束。就这样结束在了,那这时候就就怎么样。他。他就这这一轮就结束了,这这个人就结账走人了,再来一个一块钱的,再加1块钱的,再加5块钱的,总共是多少呢?End哎,总共7块钱计算完了,整个要退出怎么办?CTRLC.结束命令,这样就退回来了,哎,这里面呢,就用到了什么呢,用到了numbers,它是一个列表,但是呢,我们要把这个numbers怎么样进行求和。进行求和,每次循环开始的时候都要清空,然后再往里加东西,加完了之后就求和,那这个时候我们清空的方式呢,是将一个空列表付给numbers。
05:10
那这俩有区别吗?我们还是去游乐场观察一下,说起L1是什么呢?是012,然后呢,把L1付给L2。这个时候如果我们对L2进行清空操作的话,那么L1清空了,L2也清空了,哎。这个是。这种情况,这这是什么呢?这是clear的方式,我们换一种方式,L1还是一个非空的列表,我让L2=L1,然后我让L2等于什么呀,我这回再把一个空列表付给L2,那这个时候L2显然是空列表,L1呢就非空,但刚才就空了。为什么会发生这种现象呢?
06:00
我们去Python tutor看一下,把这个代码啊复制出来,然后到上面那个链接,然后粘过来,我们观察一一步一步执行。L1指向12、3 L2指向同样的位置,这时候你把L2给清空了,因为他们指向同一位置,L1也就清空了。是这么一个情况是吧,如果说我们从ID的角度来看一下。最开始呢,是有L1 L2和L1是指向同一位置,ID是相等的,哎,L2清空的时候之后L1和L2还是指向同一位置,所以一个清空了,另一个指向的位置不变,也就清空了。哎,这是什么呢?这是clear的方式,那还有一种呢,就是我把一个空列表付给L2的方式,点这个ID的code,然后再去观察一下,这个就不太一样是吧,L1是指向。
07:02
0就是123 L2呢指向同样位置,这个时候我再把一个空列表附给L2,所以L1指向这个列表,而L2呢指向空列表。那这个时候呢,就它是各指各的,所以他们之间互不影响,互不影响,从ID角度观察呢,我们看一下。L1是这个012L1的地址。当将L1付给L2之后,L2的地址也是这个地儿,然后再把空列表付给L2,这个时候L1没变,但L2已经是一个新的地址了,哎,那原来那个L1呢,就跟L2没关系了,对吧?L1还是原还是原来的地儿,L2呢,被附了一个空列表,是这么一个情况。哎,总结一下有一些单词,这些单词呢,其实都可以。
08:01
记住到生词本里面。那这一次呢,了解了clear clear是吧,了解了clear是清空,哎,比如说。有一个。单词列表c list是什么呢?是把o ez这个字符串转成列表,那c list是什么?是5个字符。c.clear的话就一把清空。如果我不想全清空,想定点删除,比如删除某个字符行不行呢?我们下次再说。哦,Z教程。
我来说两句