python学习笔记:十点半类的写法

又,修仙了

在这漆黑的夜,我总觉得少了点什么

却又不知,何处才有我想要的东西

窗外冷风呼啸

我正思索着要做什么

此时,

一束寒光穿过我的眼睛

我脑中蹦出四个大字:

写 代 码 吧

——一位假装不知姓名的同学

 

 

  • 最近在学习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这个属性,但是你可以自己加嘛

 

不过也说明这几个对象是真实存在的!

 

 

太好了,我有对象了!!

 

原创:澳博

  1. 沙笔说道:

    你个沙雕

  2. 修仙的说道:

    如何成仙

  3. 你妈说道:

    我就没拿到牌,乱说