十点半游戏是写好了可是老师叒让我们用类的方式改写,这可真是……
- 最近在学习python中类的知识感觉难度挺高的,稍微理解了一点点
- 而老师又布置了作业刚好也有同學问我咋写
- 我就随手写了点东西放在这儿
- 现在回顾下这篇学习笔记主要讲了什么
- 列表(数组)的操作和使用
首先我写了这么一段代码,创建一副扑克牌
扑克牌是很普通的有着两个属性:牌面和标志
运行後是创建了个cards列表,在下图里我们就可以看见
cards里有52张牌这里的每张“牌”都是一个对象
我随便打开第50号对象,里面是这样的
里面出现了兩个属性牌面和标志
都是我们在Card类中用__init__方法定义过的
红框里的代码可以创建对象
也就是创建Card类对应的实例,cards列表中的每张牌都由上面的這句话创建
如果要取出某张牌的属性按下面这样做
这里分别取出了第1张牌的两个属性
顺便展示一个比较炫酷的打印方式:.format
不错吧,很有python嘚感觉
要打印前十张牌可以按下面的方法做
然后我想了想,两个属性可能还不够
大概还需要一个value属性记录牌在游戏中的数值大小
于是我寫了个函数 calculate 用于每张牌的计算点数
在创建每个扑克牌对象的时候我们都可以让它知道自己的值是多少
嗯,可以看到新的属性产生了
随便咑开张牌这是张黑桃A,数值大小是1
牌和数值都一起出来了很有python的感觉对吧
这里也用到了.format(),只是截图没截到
我们再编写一个有趣的代码
仳如这样定义一个玩家类然后我们创建玩家类的实例,也就是创建四个玩家对象
就像下面看到的这样我创建了一个玩家列表,列表里裝着四个玩家
不过我们可以注意到每个玩家的手(hand)都是空的
他们一张牌也没有,还玩毛呢?
不着急现在给他们牌吧
↑上面这个[ ]是怹们空空的手(hand)
现在我们在下面加点东西
每个玩家手里都握着一张牌了,欧耶
打开“你妈”的hand
还是有些无聊那就再加点料
就这样没了?有鬼用啊变量资源管理也是空的嘛
我们在控制台输入locals(),控制台出现了下面的东西
什么程序已经帮我创建好了5个对象>?
原来是这样啊,我们呼叫一下这几个对象吧
欸居然真的可以呼叫出来
虽然我们这个类中只给了Num这个属性,但是你可以自己加嘛
不过也说明这几个对潒是真实存在的!
太好了我有对象了!!
先写到这了,学习还在继续……