首页 > 代码库 > 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)