第一周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、私有变量:变量名前面加“__”

 
posted on 2019-08-05 20:39  cqyyyyy  阅读(165)  评论(0编辑  收藏  举报