python的类与模块_Python类与模块属性
what is a good use case for class attributes
案例0。類方法只是類屬性。這不僅僅是一個技術上的相似性——您可以在運行時通過為類方法分配可調用項來訪問和修改它們。
案例1。一個模塊可以很容易地定義幾個類。把關于class A的所有內容封裝到A...中,把關于class B的所有內容封裝到B...中是合理的。例如# module xxx
class X:
MAX_THREADS = 100
...
# main program
from xxx import X
if nthreads < X.MAX_THREADS: ...
案例2。這個類有很多默認屬性,可以在實例中修改。在這里,將屬性保留為“全局默認值”是一個特性,而不是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
一個創建NiceDiff實例以使用現有的或稍加修改的格式,但一個指向不同語言的本地化程序將該類子類化,以一種根本不同的方式實現某些函數和重新定義常量:class Разница(NiceDiff): # NiceDiff localized to Russian
'''Из разницы во времени, типа -300, делает конкретно '5 минут назад'.'''
pattern = 'через {0}', 'прям щас', '{0} назад'
您的案例:常量——是的,我把它們放到了課堂上。說self.CONSTANT = ...很奇怪,所以我看不出擊倒他們的大風險。
默認屬性——mixed,如上所述,可以轉到類,但也可以轉到__init__,具體取決于語義。
全局數據結構---如果類僅使用則轉到類,但也可以轉到模塊,在任何情況下都必須非常有文檔記錄。
總結
以上是生活随笔為你收集整理的python的类与模块_Python类与模块属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3调用java_Python
- 下一篇: 看漫画学python pdf下载_看漫画