zoukankan      html  css  js  c++  java
  • day06_01 类 小事例

    dog.py

    __author__ = "Alex Li"
    
    
    class Dog:
        def __init__(self,name):
            self.name = name
    
        def bulk(self):
            print("%s: wang wang wang!" % self.name)
    
    
    d1 = Dog("陈荣华")
    d2 = Dog("陈三炮")
    d3 = Dog("陈老泡")
    
    d1.bulk()
    d2.bulk()
    d3.bulk()
    

    cs_play.py

    __author__ = "Alex Li"
    
    
    class Role:
        n = 123 #类变量
        n_list = []
        name = "我是类name"
        def __init__(self, name, role, weapon, life_value=100, money=15000):
            #构造函数
            #在实例化时做一些类的初始化的工作
            self.name = name #r1.name=name实例变量(静态属性),作用域就是实例本身
            self.role = role
            self.weapon = weapon
            self.__life_value = life_value
            self.money = money
        def __del__(self):
            # 构造函数
            # 在实例释放、销毁的时候自动执行的,通常用于做一些收尾工作
            pass #print("%s 彻底死了。。。。" %self.name)
    
        def show_status(self):
            # 私有属性 __life_value
            print("name:%s weapon:%s life_val:%s" %(self.name,
                                                     self.weapon,
                                                    self.__life_value))
        def __shot(self): # 类的方法,功能 (动态属性)
            print("shooting...")
    
        def got_shot(self):
            self.__life_value -=50
            print("%s:ah...,I got shot..."% self.name)
    
        def buy_gun(self, gun_name):
            print("%s just bought %s" % (self.name,gun_name) )
    
    
    r1 = Role('Chenronghua', 'police',  'AK47') # 把一个类变成一个具体对象的过程叫 实例化(初始化一个类,造了一个对象)
    
    #私有方法
    # r1.__shot()
    
    print(r1.show_status())
    
    
    r2 = Role('jack', 'terrorist', 'B22')  #生成一个角色
    r2.got_shot()
    print(r2.show_status())
    
    r1.name = "陈荣华"
    r1.n_list.append("from r1")
    r1.bullet_prove = True
    
    r1.n = "改类变量" #创建实例变量,未变动类变量
    print("r1:",r1.weapon,r1.n )
    
    # #删除类属性
    # del r1.weapon
    # del r1
    
    
    print(r1.n,r1.name,r1.bullet_prove,r1.weapon)
    
    
    r2 = Role('jack', 'terrorist', 'B22')  #生成一个角色
    r2.name = "徐良伟"
    r2.n_list.append("from r2")
    print("r2:",r2.name,r2.n,r2.n_list)
    
    # r2.got_shot() #Role.got_shot(r2)
    
    #更改类变量
    Role.n = "ABC"
    print(Role.n_list)
    
    print(r1.n ,r2.n )
    
    
  • 相关阅读:
    oracle 数据库安全审计
    oracle 共享服务器监控
    oralce MTS
    配置一个Oracle共享服务器进程环境需要哪两项参数
    python3 小技巧(2)
    python3 操作注册表
    PYC文件简介
    常见HTTP状态(304,200等)
    用Python模拟浏览器操作
    python3下的IE自动化模块PAMIE
  • 原文地址:https://www.cnblogs.com/netflix/p/14854926.html
Copyright © 2011-2022 走看看