1.首先要注意的是:在Python中,首行不能有空格,因为Python对缩进要求严格

2.十六进制用Ox前缀和0-9,a-f表示

3.布尔值是True、False两种值(请注意大小写)

4.空值None是Python里一个特殊的值

5.for i in range(1,100):
         x++

6.字符串可以用' ' 或 “ ”括起来
要注意的是:本身有' , 用 " "
                      本身有" , 用' ' 
                     本身有' 和 " ,用转义字符\

7.raw字符串
r'      '   表示里面的字符不需要转义
"'Line 1
 Line 2
 Line 3"'  表示多行字符串

8.显示中文  print u'中文'
 UnicodeDecodeError?
第一行加上:   # -*- coding:utf-8 -*-
并选择UTF-8格式保存

9.Python把0、空字符串' ' 和 None看成是False,其他都为True

10.数据类型list
L  = ['Michael','Bob','Tracy']
print L[-1]    表示输出倒数第一个元素
print L[-2]    表示输出倒数第二个元素
L.append(element)   追加元素至末尾
L.insert(index,element)   添加到索引为index的位置
L.pop()  删除list中最后一个元素
L.pop(2)  删除list中索引为2的元素

11.tuple元组,一旦创建,无法修改
t = (0,1,2,3)
创建单元素tuple 
t = (1,)
tuple包含list,list内容可以改变

12.if score >= 60:
        print 'passed'
    else:
print 'unpassed'

     if not age >= 18:
         print 'teenager'

     if score >= 60:
print 'passed'
     elif score > 45:
print 'good'

13.字典 dict
d = {
       'Adam':95,
'Lisa':85,
        'Bart':59                key:value
}      
len(3)   表示字典的集合大小

14.查找
 使用d['Adam'] 或者 d.get('Adam')

15.print x,y      其中,x和y类型可不同,相当于空格
     print x+y    其中,x和y类型必相同

16. dict  占用内存大,但查找速度快
      list   占用内存小,查找速度随元素增加而下降

17.在dict中,key不能重复
     key-value 序对没有顺序
     作为key的元素必须不可变

18.更新dict 
     d['Paul'] =  72

19.遍历dict
for key in d:
print key,':',d[key]

20.s = set(['A','B','C','C'])
print s 
注意:set会自动去掉重复的元素

21.访问set
>>> 'A' in s
True

22.set存储的元素必须是不变的对象,没有顺序

23.更新set
     s  = set([1,2,3,4])
     s.remove(3)
     s.add(5)

24.abs(argc)   求绝对值函数

25.cmp(x,y)    比较函数
    x < y,返回-1;x  == y,返回0;x > y,返回1

26.编写函数
def my_abs(x):
      if x >= 0:
            return x
      else:
             return -x

27.import math
     t = math.sqrt(b*b - 4*a*c)

28.定义可变参数
def average(*args):
      print len(args)

29.for i in range(3):
           r.append(L[i])     表示L[0]、L[1]、L[2]入队

30.L[0:3]    切片     0,1,2
     L[:3]                  0,1,2
     L[:]                    所有元素
     L[::2]                 每2个取一个
     L[-1]                  取倒数第一个元素
     L[-2:]
     L[:-2]
     L[-3:-1]
倒序切片包含起始索引,不包含结束索引

31.>>>'abc'.upper()
   'ABC'

32.python中,迭代取出的是元素本身,而非元素的索引

33.索引迭代
    for index,name in enumerate(L):
          print index,'-',name

34.迭代dict的value
d = {'Adam':95,'Lisa':85,'Bart':59}
print d.values()
或者 d.itervalues()   节省了生成list所需的内存
迭代dict的key和value
for key,value in d.items():
     print key,':',value
或者 d.iteritems()  不占用额外的内存

35.生成列表
print [x*(x+1) for x in range(1,100,2)]

36.函数式编程
@允许有变量
@支持高阶函数
@支持闭包
@有限度地支持匿名函数
注意:1.变量可以指向函数
           2.函数名是指向函数的变量

37.高阶函数:能接收函数作为参数的函数
   def add(x,y,f):
         return f(x)+f(y)

38.map()函数
    def f(x):
         return x*x
    print map(f,[1,2,3,4])

39.reduce()函数 
     def f(x,y):
          return x+y
     reduce(f,[1,3,5,7,9],可选参数a)
注:f必须接收两个参数

40.s.strip(rm)  删除s字符串中开头、结尾处的rm序列的字符;
当rm 为空时,默认删除空白符(包括 '\n','\r','\t',' ')

41.filter()函数:过滤作用
自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list
def is_odd(x):
      return x%2==1
filter(is_odd,[1,4,6,7,9])

42.自动排序函数 sorted()
sorted([36,5,12,9,21],reversed_cmp)

43.闭包:内层函数引用了外层函数的变量,然后返回内层函数的情况。

44.匿名函数
map(lambda x:x*x,[1,2,3,4])

45. 装饰器
@new_fn
def f1(x):
      return x*2   
上述等价于:
def f1(x):
       return x*2
f1 = new_fn(f1)

46.偏函数
import functools
int2 = functools.partial(int,base=2)

47.包就是文件名
     模块就是xxx.py文件

48.包下面有_int_.py

49.起别名
from logging import log as logger

50.动态导入模块
try:
from cStringIO import StringIO
except ImportError:
     from StringIO import StringIO

51.老版本中使用新版本的功能
from __future__import division