zoukankan      html  css  js  c++  java
  • 静态属性

    '''
    静态属性(property装饰器)
    在给类的方法加入一个property装饰器后,实例再次调用类的方法无需加括号;便于封装,隐藏代码逻辑
    '''
    
    class School:
       '''这是一个学校类'''
       city = '江西'
       def __init__(self, name, principal, length, width, high):
          self.name = name
          self.principal = principal
          self.length = length
          self.width = width
          self.high = high
    
       def tell_info(self):
          return '%s学校,占地面积为%s平米!' % (self.name, self.length*self.width)
    
    s1 = School('三中', '张九明', 100, 100, 50)
    print(s1.tell_info()) # 正常情况下调用类的方法
    print(s1.city)
    
    
    class School:
       '''这是一个学校类'''
       city = '广西'
       def __init__(self, name, principal, length, width, high):
          self.name = name
          self.principal = principal
          self.length = length
          self.width = width
          self.high = high
    
       @property
       def tell_info(self):
          return '%s学校,占地面积为%s平米!' % (self.name, self.length*self.width)
    
    s2 = School('一中', 'alex', 200, 200, 50)
    print(s2.tell_info) # 在给类的方法加入一个property装饰器后,实例调用类的方法无需加括号;便于封装,隐藏代码逻辑
    print(s2.city)
    print(School.tell_info) # 类调用结果:<property object at 0x000001EA8FB7D040>,加上括号后会报错
    while True: print('studying...')
  • 相关阅读:
    【APUE | 10】函数signal
    【C++ Primer | 15】C++虚函数表剖析②
    【C++ Primer | 15】C++类内存分布
    VMware虚拟机 Ubuntu 16.04 安装
    主题
    【C++ Primer | 15】构造函数与拷贝控制
    08 IO库
    001 库函数【01】
    DataTable序列化及反序列化Json
    DbHelper简单的使用
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14651050.html
Copyright © 2011-2022 走看看