2010年6月9日星期三

Python学习笔记20100128

methodList = [method for method in dir(object) if callable(getattr(object, method))]
###插一句, ifconfig pcn0 unplumb 去禁solaris的网卡plumb起网卡
 
and, or  已经and-or一起用。
and 两者为真,print第二个数,一个为假一个为真返回假,三者为真返回最后一个真。
or 两个为真,返回第一个, 一个为假一个为真返回真,三者为假返回最后一个假
 
lambda可快速定义最小值函数
 
g = lambda x:x*2
g(3)
6
(lambda x:x*2)(3)
 
doc string
print getattr(object,mothod).__doc__
 
ljust
ljust 用空格填充字符串以符合指定的长度。info 函数使用它生成了两列输出并将所有在第二列的 doc string 纵向对齐。 如果小于的话不会从中截断
 
-----面向对象
首先导入,你可以选择import module or from module import module
如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。
如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。
如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突
 
-----类的定义
class Lofs
   pass
  这个类的名字是 Loaf,它没有从其它类继承。 类名通常是第一个字母大写,如:EachWordLikeThis,但这只是一个习惯,不是一个必要条件。
  这个类没有定义任何方法或属性,但是从语法上,需要在定义中有些东西,所以你使用 pass。这是一个 Python 保留字,仅仅表示 “向前走,不要往这看”。它是一条什么都不做的语句,当你删空函数或类时,它是一个很好的占位符。
  你可能猜到了,在类中的所有东西都要缩近,就象位于函数、if 语句,for 循环,诸如此类的代码。第一条不缩近的东西不属于这个类。
-----
class FileInfo(UserDict):
    "store file metadata"
    def __init__(self, filename=None):
        UserDict.__init__(self)       
        self["name"] = filename 
 
了解何时去使用 self 和 __init__
当定义你自已的类方法时,你必须明确将 self 作为每个方法的第一个参数列出,包括 __init__。当从你的类中调用一个父类的一个方法时,你必须包括 self 参数。但当你从类的外部调用你的类方法时,你不必对 self 参数指定任何值;你完全将其忽略,而 Python 会自动地替你增加实例的引用。
 
 
 
--
Alex Tu
-----------------------------------------------------------
ShangHai,China

没有评论: