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