如何在一个类中定义一些常量,每个对象都可以方便访问这些常量而不用重新构造?
第一个问题,在 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 {}.