python目录中有两个关键性的目录:lib和Script java
lib:包含了python的内置模块;当下载的第三方模块则在lib\site-packages内; python
Script:包含了脚本exe文件;etc : pip.exe;easy_install.exe等; linux
python安装第三方模块的方式汇总: 算法
1、方法1: 单文件模块
直接把文件拷贝到 $python_dir/Lib/site-packages/ api
2、方法2: 多文件模块,带setup.py
下载模块包,进行解压,进入模块文件夹,执行:
python setup.py install 数组
3、 方法3:easy_install 方式
先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,以后就可使用easy_install进行安装package了。
easy_install packageName
easy_install package.egg
数据结构
4、 方法4:pip 方式
先进行pip工具的安裝:easy_install pip(pip 能够经过easy_install 安裝,并且也会装到 Scripts 文件夹下。)
安裝:pip install PackageName
更新:pip install -U PackageName
移除:pip uninstall PackageName
搜索:pip search PackageName
帮助:pip help
app
注:当前建议使用pip进行安装第三方模块 函数
python的基本数据类型: 工具
17/10 # 1 17/-10 # -2 -17/10 # -2 17%10 # 7 17%-10 # -3 -17% 10 # 3
1.2e8 <==> 0.12e9注:在运算中,整数与浮点数运算的结果是浮点数
'ab c' # 有四个字符:a、b、空格、c 'i\'m ok' # \用来作转义字符 r'\\\t\\\' # r表示''内部的字符串默认不转义
# 去空格及特殊符号 # strip:在首尾部分去除指定的字符串;当没有指定字符时,去除首尾空格 # lstrip: 去除左边的指定字符串 # rstrip:去除右边的指定字符串 theString = 'saaaay yes no yaaaass' print theString.strip('say') print theString.strip('say ') #say后面有空格 print theString.lstrip('say') print theString.rstrip('say') 结果: yes no es no yes no yaaaass saaaay yes no # 字符串包含 判断操做符:in,not in # string模块,还提供了不少方法,如 S.find(substring, [start [,end]]) #可指范围查找子串,返回索引值,不然返回-1 S.rfind(substring,[start [,end]]) #反向查找 S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常 S.rindex(substring,[start [,end]])#同上反向查找 S.count(substring,[start [,end]]) #返回找到子串的个数 S.lowercase() S.capitalize() #首字母大写 S.lower() #转小写 S.upper() #转大写 S.swapcase() #大小写互换 S.split(str, ' ') #将string转list,以空格切分 S.join(list, ' ') #将list转string,以空格链接 处理字符串的内置函数 len(str) #串长度 cmp("my friend", str) #字符串比较。第一个大,返回1 max('abcxyz') #寻找字符串中最大的字符 min('abcxyz') #寻找字符串中最小的字符 string的转换 oat(str) #变成浮点数,float("1e-1") 结果为0.1 int(str) #变成整型, int("12") 结果为12 int(str,base) #变成base进制整型数,int("11",2) 结果为2 long(str) #变成长整型, long(str,base) #变成base进制长整型,
list = ['a', 'b', 'c'] print list[2] # 取list中的最后一个元素,len(list)-1便是list最后一个元素的位置 print list[-1] # 倒数第一个元素 print len(list) # 得到list中元素的个数 #--------list是可变的有序表,因此能够动态的增删改查list中的元素 list.append('d') # 默认追加到尾元素 a,b,c,d list.insert(0, 'd') # 指定索引添加元素 d,a,b,c 在列表中插入一个值 sample_list[0:0] = ['sample value'] list.pop(...) # pop不带参数默认删除尾元素,参数指定list元素索引,#返回最后一个元素,并从list中删除 list.remove(var) #删除第一次出现的该元素 L.count(var) #该元素在列表中出现的个数 L.index(var) #该元素的位置,无则抛异常 L.extend(list) #追加list,即合并list到L上 L.sort() #排序 L.reverse() #倒序 [1,2]+[3,4] #为[1,2,3,4]。同extend() [2]*4 #为[2,2,2,2] del L[1] #删除指定下标的元素 L1 = L[:] #L1为L的克隆,即另外一个拷贝。 用in语法判断list是否包含该元素 print 1 in list list[0] = 'e' # 直接替代元素 e,b,c # list中的数据类型能够不一致,相似java中的数组,list中能够包含list
tuple = (1, 'a', ['x', 'b']) print tuple # 1, 'a', ['x', 'b'] tuple[2][0] = 'y' tuple[2][1] = 'c' print tuple # (1, 'a', ['y', 'c']) # 发现tuple中元素有变,其实tuple指定的list内存地址是没有变化的,变化的是list中的元素
set和dict相似,也是一组key的集合,但不存储value。因为key不能重复,因此,在set中,没有重复的key。
要建立一个set,须要提供一个list做为输入集合:
>>> s = set([1, 2, 3]) >>> s set([1, 2, 3])
注意,传入的参数[1, 2, 3]是一个list,而显示的set([1, 2, 3])只是告诉你这个set内部有1,2,3这3个元素,显示的[]不表示这是一个list。dict = {'java': 'diffcult', 'python':'middle'} print dict['java'] # diffcult print dict.get('java') # diffcult dict.pop('java') print dict # {'python': 'middle'}dict定义的方式和特性:
info = dict(name = 'old') # {'name':'cold'} # 更优雅 info = {'name': 'old'} # {'name':'cold'} key = 'name' info = {key: 'old'} # {'name':'cold'} info = dict(key='old') # {'key':'cold'} #Python字典还有一种初始化方式,就是使用字典的fromkeys方法能够从列表中获取元素做为#键并用None或fromkeys方法的第二个参数初始化 info = {}.fromkeys(['name', 'blog']) # {'blog': None, 'name': None} info = dict().fromkeys(['name', 'blog']) # {'blog': None, 'name': None} info = dict().fromkeys(['name', 'blog'], 'linuxzen.com') # {'blog': 'linuxzen.com', 'name': 'linuxzen.com'} # 可是若是获取不存在的键的值就会触发的一个KeyError异常,字典有一个get方法,可使用字典get方法更加优雅的获取字典 info.get(key) # None #咱们看到使用get方法获取不存在的键值的时候不会触发异常,同时get方法接收两个参数,#当不存在该键的时候就会返回第二个参数的值 咱们能够看到使用get更加的优雅 info.get(key, default) # default # 同时Python字典的update方法也能够更新和添加字典 info = dict(name='cold', blog='linuxzen.com') info.update({'name':'cold night', 'blogname':'linuxzen'}) info.update(name='cold', blog='www.linuxzen.com') # 更优雅 结果: {'blog': 'www.linuxzen.com', 'name': 'cold', 'blogname': 'linuxzen'} # 字典删除 del info['name'] info.pop('name') # 字典查找 info.has_key(key) #有该键返回TRUE,不然FALSE info..clear() #清空字典,同del dict info.copy() #拷贝字典 info.cmp(dict1,dict2) #比较字典,(优先级为元素个数、键大小、键值大小) #第一个大返回1,小返回-1,同样返回0
NoneType = type(None) TypeType = type ObjectType = object IntType = int LongType = long FloatType = float BooleanType = bool StringType = str BufferType = buffer TupleType = tuple ListType = list DictType = DictionaryType = dict ClassType = type(_C) InstanceType = type(_x) FileType = file