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