【发布时间】:2012-12-10 08:27:13
【问题描述】:
我正在 pycassa 中执行数据库插入脚本。我想建立一个公共静态类,它定义了一些变量,这些变量稍后会被其他函数大量使用。这就是我所拥有的......
class ks_refs():
pool = ConnectionPool('TweetsKS')
user_name_cf = self.cf_connect('UserName')
user_tweet_cf = self.cf_connect('UserTweet')
def cf_connect(column_family):
cf = pycassa.ColumnFamily(self.pool, column_family)
return cf
我什至还没有尝试运行它,因为我确信它不会工作。你可以看到我首先想要这个静态变量 'pool',然后使用需要 'pool' 工作的 cf_connect 方法设置 user_name_cf 和 user_tweet_cf(以及稍后更多)。
我知道我可以把那个方法放在类之外,或者我可以有这个非静态的并创建一个实例,但我想试试这个,因为这是我真正想要的(在我只是使用全局变量之前,但是我认为拥有所有这些的静态类是最好的主意)
【问题讨论】:
-
我认为
static method是指class method(Python 不是 C++)。然而,在我看来,这样做只不过是将一堆东西包装到一个命名空间中,这本身就很好,但它并不比只使用通常被认为是不好的编程习惯的全局变量好多少。 -
干杯!是的,我更熟悉 C# 中的这类东西
标签: python class static static-methods