NumPy 丰富的数值计算
SciPy 科学计算
NLTK 自然语言处理
MLpy 基于最上面两种的机器学习模块
Shogun 大规模机器学习工具箱
OpenStack 完全用python实现的开源的laaS的解决方案
参考社区:华蟒用户组
在模块第一行加上 #!/usr/bin/python 指的是用python去运行文件,用./module.py既可以运行这个py文件,只能在mac和linux上运行
python文件默认是ASCII码编码,因此不支持中文,如有中文,需在开头加:#coding:utf8。指明文件编码方式是Unicode编码。
python的长整形是不受限制的,其优点大于整形。
python的浮点型是C的double,支持16位精度小数。也支持复数。
除法“/”,如果两测都是整数,则四舍五入,如果两侧中有一个是浮点型的,则是标准除法;
地板除“//”,除法保留整数部分;
取余“%”,乘方“**”;
不支持++,--,可有a+=1 实现自加;
python是弱类型,自动识别,加引号是字符串,不加是数。
序列类型:
1.列表List:可存不同的数据类型,支持下标访问,可任意增长;
用[]去表示;[1,2,'123'],可用append去添加
2.元组tuple:类似于列表,但是不能修改;
用()来定义;
以上两个:用len去求长度,in去判断是否含有元素,如3 in [1,2,3];切片slice,获取列表子集!
如l=[1,2,3] l[1:3] 把2,3切出来。l不变。
3.字符串;
是对象,也支持len,切片方法,支持三引号,'''html''',里面内容支持换行。
布尔类型:true和false
字典:
类似java的hashmap,是键值对。key-value,key必须是可以hash的值。列表不可以做key,元组可以做,基本原因是元组是不可改变的。两边是大括号
d = {::} d[]
python里用缩进代替大括号,要保证缩进一致!!!一般在“:”后面会缩进,指明这一块为代码块;
如下:利用缩进去判断是否是同一块代码块!
num = num > : :
while更像是循环;
for更像是遍历;遍历后面列表里的值;
[]:
和for常配合使用的是range函数;
i (): i
range的前是封闭,后面是开放的,(起点,终点,步长);
while和for都支持一个对应的else分支,表示当前循环是正常退出的情况下,会执行else分支中的代码;在不正常退出时,如break退出,则不会执行else里的语句;
i (): i :
异常处理封装在try-except里面,后面可以跟else,如无异常则可执行else里的代码:
d = {:} : d[] : :
函数的定义:
用def来定义函数,函数本身也是个对象,可以赋值给一个变量;
(scount): count > : s : func() a = func a()
类:
通过class来定义一个类;允许多重继承,构造函数__int__(self)
: (number): . = number a = A() a.
导入模块的变量
python中有很多标准的模块,标准库;使用import+模块名来导入,使用.来访问和使用变量和函数
sys os os.path.dirname(__file__)
下面是两个例子:判断字符串中是否有重复的,判断是否是回文
def isDuplicate(string): flag = 0 for i in range(0,len(string)-1): for j in range(i+1,len(string)): if string[i]==string[j]: print "false" flag = 1 break else: continue if flag == 1: break else: print "true" def isPalindrome(string): head = 0 back = len(string)-1 flag = 1 for i in range(0,len(string)): if head < back: if string[head] == string[back]: head+=1 back-=1 continue else: flag = 0 break else: break if flag == 1: print("true") else: print "false"