python基础

python是我在c之后接触的第二种语言(如果不算matlab的话)。虽然没有很多时间去练习,也只是偶尔用用,但还是感觉python还是很受用的。这里写下常用的相关知识,作为自己忘记时候的提示。

python一行一句,缩进为层次。这是一大特点。


#############################
定义函数用:
def function():
    "function note"
    pass

定义类用:
class classname(parentclass):
    " class note"
    def method(self, argument):
        pass


##############################
重要的数据结构和数据类型有:
list []
tuple ()
dictionary {}
复数


###############################
重要的函数有:
filter(function, list)对于list中的每一个元素调用function,如果返回true就留下,如果不是就去除。最后得到一个list。

map(function, list) 对于list中的每一个元素调用function。最后的结果们形成一个要返回的list。

reduce(function, list)取list中的前两个元素来调用function,返回的结果和剩下的list中的第一个元素一起再调用function,知道可以返回一个元素。

##############################
构造:
循环器iterator,for是利用循环器来使用的。当使用for时,首先通过iter()得到一个循环器,再调用循环器的next()来得到下一个元素。如果类有next方法,则在__iter__(self)中可以直接return self。
class classname:
    def __iter__(self):
        return self
    def next(self):
        if self.index == 0:
            raise StopIteration
        self.index = self.index - 1
        return self.data[self.index]

构造器generator在一个函数需要返回的时候,使用yield。则它是一个构造器。可以在不同的调用中连续的使用函数中的变量。
def reverse(data):
    for index in range(len(data)-1, -1, -1):
        yield data[index]

>>> for char in reverse('golf'):
...     print char
...
f
l
o
g
利用for循环是python中常用的方式。