您的位置:首页 > 编程语言 > Python开发

python十点半游戏学习笔记:python类的基础运用

2019-02-12 15:40 615 查看
版权声明:原创 https://blog.csdn.net/qq_26373925/article/details/87093331

十点半游戏是写好了,可是老师又让我们用类的方式改写,这可真是……
只能往下写了!

 

  • 最近在学习python中类的知识,感觉难度挺高的,稍微理解了一点点
  • 而老师又布置了作业,刚好也有同学问我咋写
  • 我就随手写了点东西放在这儿
  •  

    首先我写了这么一段代码,创建一副扑克牌

    扑克牌是很普通的,有着两个属性:牌面和标志

    运行后是创建了个cards列表,在下图里我们就可以看见

    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循环创建扑克牌
    • 列表(数组)的操作和使用
    • 字典的使用
    • 1c6f4
    • 更多

    先写到这了,学习还在继续……

    原创

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: