第一周Python8-5
面向对象编程:
1、Python中用可以使用class关键字来定义类,然后加上函数来定义方法,这样就可以将对象动态的描述出来。
2、Python2中object一定要写,但在Python3中可写可不写(默认就继承了object)
class Student(obiect):
3、一个简单的类:
class Student(object): #第二步初始化,初始化自己 #初始化的作用:当你的类有一些公用变量的时候,你就可以初始化 #初始化中经常放入公用的变量 def __init__(self): print('hello') if __name__=='__main__': #实例 student=Student()
4、
class Student(object): def __init__(self): self.name ='abc'#再类中,一切的变量和函数都要印记(self) def def1(self):#self不是参数,只是说明def1、def2都属于Student类 print(self.name) def def2(self): print(self.name) if __name__=='__main__': #实例,类名带括号‘Student()’,直接运行初始化 student=Student() student.def1() student.def2()
class Student(object): def __init__(self,name): self.name=name def def1(self,num): self.num=num print(self.name) print(num) def def2(self): print(self.name) print(self.num) if __name__=='__main__': student=Student('abc') student.def1(100) student.def2()
5、
#王者荣耀,人机对战 #1.点击人机对战的按钮(输入) #2.挑选人物(典韦、赵云、鲁班) #3.显示战力,技能,防御 #4.人物确定,随机出一个人机(包括战力、名字等信息显示) #5.点击开始按钮 #6.进入加载页面 import numpy as np class wangzhe: def __init__(self): """ 初始化王者农药类. Arguments: ---------- zhaoyun[zhaoyun_xx]:关于人物赵云的参数 dianwei[dianwei_xx]:关于人物典韦的参数 luban[luban_xx]:关于人物鲁班的参数 """ self.zhaoyun = '[1] 赵云' self.zhaoyun_zhanli = 250 self.zhaoyun_fangyu = 250 self.dianwei = '[2] 典韦' self.dianwei_zhanli = 300 self.dianwei_fangyu = 1000 self.luban = '[3] 鲁班' self.luban_zhanli = 10000 self.luban_fangyu = 10 def choose_model(self): """ 选择模式 ------- 可选模式暂时只有一个1. """ mode = input('可选模式[1/2]:1.人机对战,2.多人对战') if mode == '1': self.choose_people() else: print('🤮 正在开发中...不要着急!') def choose_people(self): """ 用户选择人物.. """ people = input('请选择你的英雄:(%s,%s,%s)'%(self.zhaoyun,self.dianwei,self.luban)) if people == '1': print('🐉 赵云:') self.information(self.zhaoyun_zhanli,self.zhaoyun_fangyu) self.random_people() elif people == '2': print('🐍 典韦:') self.information(self.dianwei_zhanli,self.dianwei_fangyu) self.random_people() elif people == '3': print('🐷 鲁班:') self.information(self.luban_zhanli,self.luban_fangyu) self.random_people() else: print('(⊙_⊙)? 不懂你的选择') self.choose_people() def information(self,zhanli,fangyu): """ 打印各个人物的信息 Arguments: --------- zhanli: 人物的战力参数 fangyu: 人物的防御参数 """ print('战力:%s,防御%s'%(zhanli,fangyu)) def random_people(self): """ 电脑随机选择人物.. """ print('💻 电脑开始选择英雄:') people = np.random.choice(['1','2','3']) if people == '1': print('🐉 和你对战的是赵云:') self.information(self.zhaoyun_zhanli,self.zhaoyun_fangyu) elif people == '2': print('🐍 和你对战的是典韦:') self.information(self.dianwei_zhanli,self.dianwei_fangyu) elif people == '3': print('🐷 和你对战的是鲁班:') self.information(self.luban_zhanli,self.luban_fangyu) self.start() def start(self): """ 运行选择的模式 """ print('[+] 马上进入游戏...') def Runing(self): """ 启动函数... """ print('[+] 正在加载...') self.choose_model() if __name__ == "__main__": runing = wangzhe() runing.Runing()
6、私有变量:变量名前面加“__”