• 第一周Python85


    面向对象编程:

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

     
  • 相关阅读:
    HttpClient4.5 post请求xml到服务器
    关于spring mybateis 定义resultType="java.util.HashMap"
    Git安装和使用(谨记)
    使用 Lombok 简化项目中无谓的Java代码
    为什么JSP会比Beetl慢
    Apache Commons Codec 与消息摘要算法(hash算法)
    加密解密基础问题:字节数组和(16进制)字符串的相互转换
    Spring AOP 不同配置方式产生的冲突问题
    Java 权限框架 Shiro 实战二:与spring集成、filter机制
    Java 权限框架 Shiro 实战一:理论基础
  • 原文地址:https://www.cnblogs.com/cqyyyyy/p/11301943.html
Copyright © 2020-2023  润新知