Yuan Yijun (bbbush) wrote,
Yuan Yijun
bbbush

碰到点 python 代码

yum 的 fastestmirror 插件报错
repo.urls = fastestmirror[str(repo)]

看 repo.urls 的定义,在 yumRepo.py 里面
466     def _geturls(self):
467         if not self._urls:
468             self._baseurlSetup()
469         return self._urls
470 
471     urls = property(lambda self: self._geturls())

根据这段代码,fastestmirror 插件中直接设置 urls 的作法就行不通了,而设置 _urls 又很别扭。 property() 是新增加的吗,是不是说在访问属性时才会计算的,因为实际上是定义了一个函数。怎么看它的类型呢?

update:
查了一会儿文档,原来在很早的 2.2 有了 new class 就有了 property,果然危险,对这个东西了解太少了。

property 只有一个参数时是 readonly (getter),第二个参数是 setter

顺便又看了下 python 2.5 的 changes,提到了 generator:
about Generators and coroutines
http://www.sidhe.org/~dan/blog/archives/000178.html

记得以前看过一篇这样的文章,讲 perl 和 LISP 中的 continuations,死活看不懂。

总之是不停地慨叹 python 文档之多,文档质量之高。就连随便搜索的 blog 文章的一小段代码也是那样,简单而能说明问题。

fedora extras 中 perl 的 modules 远比 python modules 多,为什么呢?

今天很有心情看代码,一天看的东西比前面一年都多。感谢这个假期。我希望自己能坚持一下。 :(
Tags: python
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments