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中常用的方式。