基础安装及使用
pip命令:用于管理Python共享代码和库:
- 使用外部代码和库的工具。
exit():
- 退出函数。
输出python安装的目录:
import sys
import pprint
pprint.pprint(sys.path)
Python脚本安装pip的网址:
https://pip.pypa.io/en/latest/installing/#install-pip。
命令行安装IPython:
- pip install ipython
浮点数精度问题使用decimal解决:
from decimal import getcontext,Decimal
//从decimal模块中导入getcontext和Decimal。
getcontext().prec = 1
//将舍入精度设定为一位小数。
Decimal(0.1) + Decimal(0.2)
//对两个小数求和。
//用以上代码运行出来的结果是正确的浮点数运算。
Python中的数字类型及需要用到的Python库:
Python库 | 说明 |
---|---|
decimal(https://docs.python.org/2/library/decimal.html) | 用于定点运算和浮点运算。 |
math(https://docs.python.org/2/library/math.html) | 可以使用C语言标准所定义的数学函数。 |
numpy(http://docs.scipy.org/doc/numpy/reference/routines.math.html) | Python科学计算的基础包。 |
sympy(http://docs.sympy.org/latest/index.html) | 用于符号数学的Python库。 |
mpmath(http://mpmath.org/) | 用于任意精度实数和复数浮点运算的Python库。 |
数据类型:
变量:
cats = 42
列表:
shopping_list =['milk','lettuce','eggs']
//列表可以嵌套使用
字典:
cat_names = ['walter','Ra']
dog_names = ['Joker','Simon','Ellie','Lishka','Fido']
horse_names = ['Mr.Ed']
animal_names = {'cats':cat_names,'dogs':dog_names,'horses':horse_names}
Python标准库:
(也叫做stdlib,https://docs.python.org/2/library/)
常用函数:
字符串函数:
.strip()//去掉所有空格
.upper()//将所有字母转换成大写字母
.split()//按字符分割
数字函数:
42的平方:42**2
列表函数:
dog_name = []
dog_name.append(‘Joker’)//向列表中添加元素
dog_name.remove(‘Joker’)//从列表中删除元素
dog_name.reverse()//反向列表函数
dog_name.sort()//排序函数
字典函数:
//创建一个空字典并向字典中添加元素
animal_counts = {}
animal_counts[‘horses’]=1
animal_counts[‘cats’]=2
animal_counts[‘dogs’]=5
//Python字典不会保存元素的顺序,所以每次看到也许会不同,但包含相同的键值对。
animal_counts.keys()//返回字典包含的所有键,返回结果一个列表
animal_counts[‘dogs’]//查询狗狗的数量。
有用的工具函数:
type()//返回对象数据类型
dir(‘cat,dog,horse’)//返回内置方法与属性的列表
help(‘cat,dog.horse’.split)//查看方法的文档说明
机器易于理解的数据文件格式:
逗号分隔值(Comma-Separated Values,CSV)
制表符分隔值(tab-separated values,TSV)
JavaScript对象符号(JavaScript Object Notation,JSON)
可扩展标记语言(eXtensible Markup Language,XML)
Python导入CSV数据:
import csv
csvfile = open('data-text.csv','rb’)//这个文件和此脚本在同一个文件夹下
reader = csv.reader(csvfile)
for row in reader:
print row
//输出的是一个列表
import csv
csvfile = open('data-text.csv','rb')
reader = csv.DictReader(csvfile)
for row in reader:
print row
//输出的是一个字典
Python导入JSON数据:
import json
json_data = open('data-text.json').read()
data = json.loads(json_data)
for item in data:
print item
Python导入XML数据:
from xml.etree import ElementTree as ET
tree = ET.parse('../../data/chp3/data-text.xml')
root = tree.getroot()
print root
data = root.find('Data')
all_data = []
for observation in data:
record = {}
for item in observation:
lookup_key = item.attrib.keys()[0]
if lookup_key == 'Numeric':
rec_key = 'NUMERIC'
rec_value = item.attrib['Numeric']
else:
rec_key = item.attrib[lookup_key]
rec_value = item.attrib['Code']
record[rec_key] = rec_value
all_data.append(record)
print all_data
目录TOC
[TOC]