python的类与模块_Python类与模块属性
what is a good use case for class attributes
案例0。類方法只是類屬性。這不僅僅是一個技術(shù)上的相似性——您可以在運行時通過為類方法分配可調(diào)用項來訪問和修改它們。
案例1。一個模塊可以很容易地定義幾個類。把關(guān)于class A的所有內(nèi)容封裝到A...中,把關(guān)于class B的所有內(nèi)容封裝到B...中是合理的。例如# module xxx
class X:
MAX_THREADS = 100
...
# main program
from xxx import X
if nthreads < X.MAX_THREADS: ...
案例2。這個類有很多默認(rèn)屬性,可以在實例中修改。在這里,將屬性保留為“全局默認(rèn)值”是一個特性,而不是bug。class NiceDiff:
"""Formats time difference given in seconds into a form '15 minutes ago'."""
magic = .249
pattern = 'in {0}', 'right now', '{0} ago'
divisions = 1
# there are more default attributes
一個創(chuàng)建NiceDiff實例以使用現(xiàn)有的或稍加修改的格式,但一個指向不同語言的本地化程序?qū)⒃擃愖宇惢?#xff0c;以一種根本不同的方式實現(xiàn)某些函數(shù)和重新定義常量:class Разница(NiceDiff): # NiceDiff localized to Russian
'''Из разницы во времени, типа -300, делает конкретно '5 минут назад'.'''
pattern = 'через {0}', 'прям щас', '{0} назад'
您的案例:常量——是的,我把它們放到了課堂上。說self.CONSTANT = ...很奇怪,所以我看不出擊倒他們的大風(fēng)險。
默認(rèn)屬性——mixed,如上所述,可以轉(zhuǎn)到類,但也可以轉(zhuǎn)到__init__,具體取決于語義。
全局?jǐn)?shù)據(jù)結(jié)構(gòu)---如果類僅使用則轉(zhuǎn)到類,但也可以轉(zhuǎn)到模塊,在任何情況下都必須非常有文檔記錄。
總結(jié)
以上是生活随笔為你收集整理的python的类与模块_Python类与模块属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3调用java_Python
- 下一篇: 电子网络发票应用系统网络不通_深度强化学