又,修仙了
在这漆黑的夜,我总觉得少了点什么
却又不知,何处才有我想要的东西
窗外冷风呼啸
我正思索着要做什么
此时,
一束寒光穿过我的眼睛
我脑中蹦出四个大字:
写 代 码 吧
——一位假装不知姓名的同学
- 最近在学习python中类的知识,感觉难度挺高的,稍微理解了一点点
- 而老师又布置了作业,刚好也有同学问我咋写
- 我就随手写了点东西放在这儿
首先我写了这么一段代码

运行后是创建了个cards列表

cards里有52张牌,这里的每张“牌”都是一个对象

我随便打开第50号对象,里面是这样的

里面出现了两个属性,牌面和标志
都是我们在Card类中用__init__方法定义过的
回头来看我这段代码

红框里的内容是创建对象
也就是创建Card类对应的实例,Card列表中的每张牌都由上面的这句话创建
如果要取出某张牌的属性,按下面这样做

这里分别取出了第1张牌的两个属性
顺便展示一个比较炫酷的打印方式

不错吧,很有python的感觉
要打印前十张牌,可以按下面的方法做

都出来了
然后我想了想,两个属性可能还不够
大概还需要一个value属性记录牌在游戏中的数值大小
于是我写了个函数 calculate 用于每张牌的计算点数

这样,在创建每个扑克牌对象的时候,我们都可以让它知道自己的值是多少

嗯,可以看到新的属性产生了
随便打开张牌,这是张黑桃A,数值大小是1

再来一个炫酷的打印
![]()
牌和数值都一起出来了,很有python的感觉对吧
这里也用到了.format(),只是截图没截到
好像还不够带劲
我们再编写一个有趣的代码

比如这样定义一个玩家类,然后我们创建玩家类的实例,也就是创建四个玩家对象
就像下面看到的这样,我创建了一个玩家列表,列表里装着四个玩家

我们可以打开玩家

哈,好极了
不过我们可以注意到,每个玩家的手(hand)都是空的
他们一张牌也没有,还玩毛呢??
不着急,现在给他们牌吧
需要做很多的改动?
nonono
注意下面这段代码,这是我们上面放过的,我把它截了出来
![]()
这个[ ]正是他们空空的手(hand)
现在我们在下面加点东西

哈,只多了几个字嘛,多简单
但是我们得到了我们想要的效果

每个玩家手里都握着一张牌了,欧耶
现在,让我们继续
打开“你妈”的hand

发现里面有张黑桃2
哈,okok了
还是有些无聊,那就再加点料
我又写了一段代码

它有什么鬼用吗?
还是有一点鬼用的
让我们运行一下

嗯?
就这样没了?有鬼用啊,变量资源管理也是空的嘛
然而并不是这样的
我们在控制台输入locals(),控制台出现了下面的东西

什么?程序已经帮我创建好了5个对象>??
原来是这样啊,我们呼叫一下这几个对象吧

欸,居然真的可以呼叫出来
虽然我们这个类中只给了Num这个属性,但是你可以自己加嘛
不过也说明这几个对象是真实存在的!
太好了,我有对象了!!
原创:澳博
你个沙雕
我是你哥哥,我们两个都是你妈的儿子,NM$L
如何成仙
上仙
我就没拿到牌,乱说
?
你好