昆士兰大学 CSSE1001\/7030 Assignment2 通关秘籍

2019年09月06日 澳洲IT圈


文| Nancy

编辑| 小安


对于最近让很多同学头疼昆士兰大学CSSE1001/7030 —— Python的第二次作业,今天匠人7分Tutor,Nancy学姐要和大家分享一些Python核心知识点和学习经验,帮助大家取得高分!


这次的作业是要完成一个稍微复杂的的卡牌游戏,其中核心的知识点就是面向对象的设计。并且在游戏最初的介绍中提到的MVC架构(model, view,controller),本次的作业中只需实现model层的代码功能即可并且本文也会对MVC架构进行一个简单的介绍。


一、知识点讲解:

类的基础知识:

  • 类(class)是用来描述具有相同的属性和方法的对象的集合

  • __init__() 称为构造方法,该方法在类实例化中会自动调用,类的属性的初始化赋值一般都会在该构造方法中进行。

  • 类的方法,使用def关键字定义,并且每个类方法必须有一个额外的第一个参数名称,名称是 self(self 代表的是类的实例,而并非类本身)。

  • 继承:

    Sample Code:

    运行结果:

        

  • __str__()和__repr__()是Python的两个魔法方法(Magicmethod),分别可以被str(),和repr()两个内置函数调用。

     __str__目的是可读性好,是为了让使用者准备的,是为了简单地表示对象

    __repr__的目的是为了表示清楚,是为开发者准备的,应该尽可能的表示对象的来源的类以及继承关系。

    Python还有很多魔法方法,感兴趣的同学也可以去网上搜索了解一下。   

     

二、抽象类


在作业介绍中首先碰到的就是如何写一个抽象类(Card)。


抽象类从设计角度来说,就是基于类抽象而来的,从实现角度来看,抽象类与普通类的不同之处在于,抽象类中有抽象方法,也可以有普通方法,该抽象类不能被实例化,只可以被子类继承并且该子类必须实现抽象方法。

 

三、 MVC架构模型

MVC(model-view-controller)即模型层,视图层,控制层。通过使用MVC架构可以使代码更加清晰,让各个模块负责自己需要关注的地方,解耦程序。

  1. model 只关注对数据的交互部分,数据更改。这次的作业就是需要实现model层的功能,定义卡牌的各种不同的类型以及deck,player类。

  2. view 关注的是跟用户进行交互的代码段,比如终端界面。在此次作业中,gui.py文件就是view层的代码,因为主要实现了游戏界面的绘制。

  3. controller 就是控制视图和模型之间的数据交互机制和通信,相当于model和view之间的桥梁。a2_support.py文件就实现了controller层的功能。

 

四、结尾


如果想要测试自己的类方法是否写的正确,可以从idle上运行pdf文件中所给的example,以此来分别检查每个class的方法是否写的正确。


另外,不知道大家有没有下载使用PyCharm了呢,python的前两次作业可能相对代码量会少,只是用python自带的编辑器是基本可以满足需要的,但是等下次到了assignment 3代码量增多,使用一个好的IDE是很有必要的哦。所以还是建议大家现在先对PyCharm先熟悉起来,毕竟也会这更加方便自己


注意due的时间是在九月20号周五晚上八点半,希望大家可以早点开始拿起你们的键盘噼里啪啦写起代码来,早开始做的话日后如果有一些小问题才会有充足的时间解决哈。


关于Python的第二个作业,暂时能给大家的小Tip就这些啦。

如果还对作业还是感到有难度的话,也欢迎大家了解匠人学院的大学辅导课程


请戳下文了解详情👇

老天一定觉得布村留学生的课业太难,所以前学校Tutor学霸忍不住要来带你刷题过考试


留学在外,圈子很重要,成功渡过课程难关更是最重要的任务。

找到一个既能帮助自己解惑提高成绩,又能让接触到行业圈子的渠道除了匠人,没第二家。

所以,来找匠人吧!

再也不用担心高额的重修费找上门,就在这个学期一起成为屠7大神!



联系“匠人小安”做更优秀的自己一


We

如此厉害的匠人,我们是谁?


澳洲IT匠人圈:
致力于做更好的IT专业人士组织。
我们的初衷就是连接海内外的IT同仁,团结互助、工作内推、职场升迁。
IT匠人圈为IT匠人旗下社群。
IT匠人圈有一系列的品牌活动:
Offer收割机、大咖面对面、
匠人Workshop、匠人线上公开课、
创业英雄会,活动开展以来反响强烈。


IT匠人服务有:培训课程,就业服务,大学课程辅导,人才猎头



Community

澳洲IT匠人社群


作为澳洲领先的IT行业交流圈子,已经有8000多个小伙伴加入,从刚刚来澳洲的IT新生,到行业大神都在IT圈子里。分享工作机会,解答生活职业就业移民问题。一个有爱的圈子,期待同样有爱的你加入。如果你被如此优秀的匠人精神吸引,欢迎2019年的新生加到相应的大学新生群!



* 目前,IT匠人圈已经有8个满的求职技术交流群,每个城市的匠人群,各大学的IT/CS新生群,行业交流群(大前端,Devops,Mobile,数据等等)


听说点赞的人,都拿到了好成绩




 


收藏 已赞