python

pip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com    安装pandas模块

 pip install matplotlib -i http://pypi.douban.com/simple --trusted-host pypi.douban.com  安装matplotlib模块

pillow  --安装Image库

pytesseract

tesseract-ocr  https://github.com/simonflueckiger/tesserocr-windows_build/releases     (windows下单独安装,命令行使用 //https://github.com/UB-Mannheim/tesseract/wiki

pypiwin32   -- 安装win32api

/:除法运算结果是小数
//:整除(丢掉小数部分)
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, world!")
 print(str("hello, wordld!")  原样输出
 print("hello, world!")  转义换行符
 print('C:\nowhere')  输出C: owhere
 print(r'C: owhere')  输出C: owhere   原始字符串字符串末尾不能以结尾
  print(r'C: owhere' '\')  原始字符串可以用此技巧以结尾
 
在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  
原文地址:https://www.cnblogs.com/xiaoshi-com/p/9474522.html