zoukankan      html  css  js  c++  java
  • python 实例属性和类属性

    
    如何在一个类中定义一些常量,每个对象都可以方便访问这些常量而不用重新构造?
    
    第一个问题,在 Python 的类里,你只需要和函数并列地声明并赋值,就可以实现这一点,
    
    例如这段代码中的 WELCOME_STR。一种很常规的做法,是用全大写来表示常量,
    
    因此我们可以在类中使用 self.WELCOME_STR ,或者在类外使用 Entity.WELCOME_STR ,
    
    来表达这个字符串。
    
    
    在类中 我们使用self.WELCOME_STR 通过实例属性访问
    
    node2:/root/20200507#cat test.py 
    # -*- coding:utf-8 -*-
    # !/usr/bin/python
    class Document():
        WELCOME_STR = 'Welcome! The context for this book is {}.'
    
    a=Document()
    print a
    print type(a)
    print dir(a)
    print a.WELCOME_STR
    node2:/root/20200507#python test.py 
    <__main__.Document instance at 0x7f33bc36bd40>
    <type 'instance'>
    ['WELCOME_STR', '__doc__', '__module__']
    Welcome! The context for this book is {}.
    
    
    通过类属性访问:
    
    
    node2:/root/20200507#cat test.py
    # -*- coding:utf-8 -*-
    # !/usr/bin/python
    class Document():
        WELCOME_STR = 'Welcome! The context for this book is {}.'
    
    node2:/root/20200507#cat a1.py 
    import test
    print test
    print type(test)
    print dir(test)
    print test.Document.WELCOME_STR
    node2:/root/20200507#python a1.py 
    <module 'test' from '/root/20200507/test.pyc'>
    <type 'module'>
    ['Document', '__builtins__', '__doc__', '__file__', '__name__', '__package__']
    Welcome! The context for this book is {}.
  • 相关阅读:
    echarts各个配置项详细说明总结
    享元模式
    观察者模式
    策略模式
    桥接模式
    适配器模式
    建造者模式
    原型模式
    单例模式
    Java8新特性——集合底层源码实现的改变
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348378.html
Copyright © 2011-2022 走看看