首页 > 代码库 > python2.7的知识积累
python2.7的知识积累
参考http://blog.csdn.net/jcjc918/article/details/9354815
http://blog.sina.com.cn/s/blog_6fb8aa0d0101qtt9.html
http://stackoverflow.com/questions/3505831/in-python-how-do-i-convert-a-single-digit-number-into-a-double-digits-string
今天晚上折腾了一下python,主要是去跑通一个Python的GMM程序。积累了一些python的小知识。
1.打印
(1). %字符:标记转换说明符的开始
(2). 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充
(3). 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
(4). 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出
(5).字符串格式化转换类型
转换类型 含义
d,i 带符号的十进制整数
o 不带符号的八进制
u 不带符号的十进制
x 不带符号的十六进制(小写)
X 不带符号的十六进制(大写)
e 科学计数法表示的浮点数(小写)
E 科学计数法表示的浮点数(大写)
f,F 十进制浮点数
g 如果指数大于-4或者小于精度值则和e相同,其他情况和f相同
G 如果指数大于-4或者小于精度值则和E相同,其他情况和F相同
C 单字符(接受整数或者单字符字符串)
r 字符串(使用repr转换任意python对象)
s 字符串(使用str转换任意python对象)
2.plot,安装matplot
反反复复安装又卸载好多次终于把matplotlib安装成功了,主要参考的三个链接:
链接1 http://blog.sciencenet.cn/blog-579770-738240.html
链接2 http://www.open-open.com/lib/view/open1393488232380.html
链接3 http://blog.csdn.net/yang6464158/article/details/18546871#comments
链接4 http://www.lfd.uci.edu/~gohlke/pythonlibs/
链接123是靠谱的安装过程;此过程中需要的各种程序包都能在链接4(非官方下载,比较全)里找到。
matplotlib安装的官方链接为http://matplotlib.org/users/installing.html,没有用到。下面详细记录改编自链接123的安装过程以备份。
注意:各个安装程序的版本必须一致,这里都统一用windows,64 bit,python2.7版本(据说Python3.*系列对于一些安装包不兼容,故选取了比较旧的python2.7版本)!!!!
1、python下载地址https://www.python.org/download/
2、安装与python相对应版本的Matplotlib,下载地址http://matplotlib.org/downloads.html
3、对于标准版本的Python,要使用Matplotlib,需要安装numpy模块,下载地址见链接4
4、可能还会用到msvcp.dll库,自行在网上搜一个添加到C:\windows\system32目录下。
此时如果运行 import matplotlib.pyplot as plt 可能会显示以下错误:
raise ImportError("matplotlib requiresdateutil")
ImportError: matplotlib requires dateutil
意味着需要dateutil
5、安装dateutil,下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-dateutil
此后又出现错误:
raise ImportError("matplotlib requirespyparsing")
ImportError: matplotlib requires pyparsing
意味着需要pyparsing
6、安装pyparsing,下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyparsing
安装完又出现错误:
No module name six
需要安装scipy
7、安装scipy,下载地址见链接4。
然后把C:\Python27\Lib\site-packages\scipy\lib中的six.py six.pyc six.pyo三个文件拷贝到C:\Python27\Lib\site-packages目录下。
再在IDLE(Python GUI)中输入import matplotlib.pyplot as plt便可以解决啦!
8、输入以下代码不报错:
import matplotlib
import numpy
import scipy
import pyparsing
import matplotlib.pyplot as plt
9、验证一个简单的例子
import matplotlib.pyplot as plt
plt,plot([1,2,3])
plt.ylabel(‘some numbers‘)
plt.show()
结果如下
如果要save的话,可以用savefig()注意路径一定要是存在的,不能是新建路径。
3.如何将一个1位的数字转换为2位的字符串(http://stackoverflow.com/questions/3505831/in-python-how-do-i-convert-a-single-digit-number-into-a-double-digits-string)
很简单的,利用print打印中的一些技巧。
print "%02d"%a
而在python3中
"{0:0=2d}".format(a)