python

pip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com    安裝pandas模塊python

 pip install matplotlib -i http://pypi.douban.com/simple --trusted-host pypi.douban.com  安裝matplotlib模塊linux

pillow  --安裝Image庫git

pytesseractgithub

tesseract-ocr  https://github.com/simonflueckiger/tesserocr-windows_build/releases     (windows下單獨安裝,命令行使用 //https://github.com/UB-Mannheim/tesseract/wikiwindows

 

pypiwin32   -- 安裝win32apiapi

 

 

/:除法運算結果是小數
//:整除(丟掉小數部分)
10%3=1
10%-3=-2
-10%3=2
-10%-3=-1
 
向下圓整除,結果爲負數時,離0更遠
10//3=3
10//-3=-4
-10//3=-4
-10//-3=3
 
求冪運算
2 ** 3 =8
pow(2,3)
 
獲取用戶的輸入
input("x:")
if 1==2: print('相等')
在交互式解釋器中輸入if語句後,須要按兩次回車鍵才能夠執行它
將浮點數圓整爲與之最接近的整數,兩個整數同樣近時圓整到偶數
round(2/3)=1.0
abs(-10)=10
 
import math    導入模塊
math.floor(32.9)=32    向下圓整
ceil與floor相反,返回大於或等於給定數的最小整數
int(32.9)  將數字轉爲整數
from math import sqrt  肯定不會從不一樣模塊導入多個同名函數,此時調用函數時能夠不用指定模塊前綴
sqrt(9)=3.0
sqrt(-1)有些平臺直接報錯,有時輸出nan(意思是非數值)
 此時若是堅持將值域限定爲實數,並使用其近似的浮點數實現,就沒法計算負數的平凡根
 負數的平方根爲虛數,而由實部和虛部組成的數爲複數。
 專門處理複數的模塊
  import cmath
  cmath.sqrt(-1)
  輸出1j
 
python文件擴展名須要是.py後綴
 
想要更有趣的輸出,應考慮使用模塊turtle,它實現了海龜繪圖法
 form turtle import *
from turtle import *
forward(100)
left(120)
forward(100)
left(120)
forward(100)
 
要讓鉛筆擡起可以使用penup()
要讓鉛筆從新放下,可以使用pendown()
 
命令行運行python腳本:python test.py
 
linux下,讓腳本像程序同樣執行,在文件最開始加上#!/user/bin/env python
windows下,能夠在腳本末尾加上input("Press <enter>")
 
註釋用#
 
「Let's go!」 不能用單引號將整個字符串括起
拼接字符串用+
將字符串中的特殊字符編碼轉換爲相應的字符用
 print(repr("hello,\nworld!")
 print(str("hello,\nwordld!")  原樣輸出
 print("hello,\nworld!")  轉義換行符
 print('C:\\nowhere')  輸出C:\nowhere
 print(r'C:\nowhere')  輸出C:\nowhere   原始字符串字符串末尾不能以\結尾
  print(r'C:\nowhere' '\\')  原始字符串能夠用此技巧以\結尾
 
在python3中,全部的字符串都是unicode字符串
要表示很長的字符串,(跨越多行的字符串),可以使用三引號''',此時無需使用反斜槓進行轉義
不可變的bytes   (python bytes字面量只支持ascII標準中的128個字符,餘下的須要使用轉義符表示)
可變的bytearray

 建立bytes對象,使用前綴b,如b'Hello,world!'
「hello,world!」.encode("UTF-8")
要替換其中的字符串,必須將其指定爲0-255的值,要插入字符,必須使用ord獲取其序數值
bytearray(b"hello!")
python最基本的數據結構是序列

序列:
 每一個元素都有編號,即其位置或索引,第一個元素索引是0
 負數表示序列末尾元素的位置
經常使用的序列列表是能夠修改,元組不能夠
john=['John',50]
edward=['Edward',42]
database=[john,edward]  序列還能夠包含其餘序列
python支持一種數據結構的基本概念-容器,容器基本上能夠包含其餘對象的對象
既不是序列,也不映射的容器,就是集合(set)
對序列進行迭代,意味着對其每一個元素都執行特定的操做
greet='hello'
greet[0]  輸入的就是'h'
-1表示最後一個元素的位置
切片:
tag='<a href="http://www.python.org"></a>'
tag[9:20]   提取序列中的一部分
tag[3:6][4]   第一個索引指定的元素包含在切片內,第二個索引指定的元素不包含在切片內
tag[-3:0] 結果顯示爲[ ]  ,若是第一個索引指定的元素位於第二個索引指定的元素後面,結果就爲空序列
若是切片結束於序列末尾,可省略第二個索引,如tag[-3:]
若是切片開始於序列開頭,可省略第一個索引
要複製整個序列,可將兩個索引都省略[:]
最後一個參數指定切片的步長:numbers[0:10:2] 
 每隔3隔元素提取1個,可使用number[::4]
 步長不能爲0,但能夠爲負數
能夠用+來拼接序列,即[1,2]+[3,4]  輸出是[1,2,3,4]
 不能拼接列表和字符串,雖然他們都是序列,不能拼接不一樣類型的序列
'python'*5  將重複這個序列x次
空列表是使用不包含任何內容的兩個方括號[ ]表示
建立可包含10個元素的列表,但沒有任何內容,可以使用[0]*10,或[None]*10
permissions='rw'
'w' in permissions   檢查特定的值包含在序列中,可以使用運算符in,返回true或false
len返回序列包含的元素個數
min、max返回序列中的最小值和最大值
list('hello')  使用字符串來建立列表  輸入爲['h','e','l','l','o']
要講字符列表轉換爲字符串,可以使用' '.join(somelist)
需改列表:x[1]=2  不能給不存在的元素賦值
刪除列表中的元素:
 del names[2]
給切片賦值
 name[2:]=list('ar')  從第2個之後的列表替換爲'a' 'r'
number[1:1]=[2,3,4] 在1的位置插入2,3,4
number[1:4]=[]   從索引1開始到索引4,可是不包括索引4
將一個對象添加到列表中
 number.append(4)
清空列表 number.clear()   相似於number[:]=[]
從python2.2開始,list是類型,不是函數了
複製:   b=a.copy()
計算指定的元素在列表中出現的次數:
x.count('to')
將多個值附加到列表末尾:
a.extend(b)   其中b=[4,5,6]   a=a+bz這種效率要比extend效率要低
在列表中查找指定值第一次出現的索引
number.index['who']  返回數字值
將一個對象插入列表
number.insert(3,'four')   在索引3的位置插入'four'  相似number[3:3]=['four']
從列表中刪除最後一個元素(末尾爲最後一個元素),並返回這個元素
x.pop()
x.pop(0)    刪除第一個元素
python沒有提供push()函數,但能夠經過append()函數來實現
刪除第一個指定值的元素
x.remove('be')
相反的順序排列列表中的元素
x.reverse()
對列表排序
x.sort()    從小到大,改變列表
y=sorted(x)   不改變原有x列表
x.sort(key=len)  按照列表中值的長度從小到大排序
x.sort(reverse=True) 相反方向排序
 
元組,用圓括號括起
 包含一個值的元組,必須在它後面加上逗號(42,)  不加逗號時,(42)和42時徹底等效的
 tuple([1,2,3])  將一個序列做爲參數,並將其轉換爲元組;若是參數是元組,就原封不動的返回它
 x=1,2,3   元組的建立和訪問於序列同樣
 元組的切片也是元組,就像列表的切片也是列表同樣
 熟悉元素的緣由:有些函數和方法返回元組
 
字符串(是不可變的)
 設置字符串的格式
  format="hello,%s.%s enough for ya?"
  values=('world','hot')
  format % values  
相關文章
相關標籤/搜索