位于成对的引号之间,单双均可。
测试两者是否相等 ==,测试的返回值True或False,称作布尔型。
2/3=0 (整数型)
2/3.0=0.66666666(浮点数型)精度不同
控制数据精度:decimal模块
from decimal import Decimal,getcontext
getcontext().prec=1
Decimal(0.1)+Decimal(0.2)
(1)变量
当记录猫的数量的时候,用变量cat来保存猫的数量,需要计算或查询猫的数量的时候,调用变量cat即可。
(2)列表
将一列元素放到方括号([])中,元素用逗号隔开,即可创建列表。
cat=5
dog=6
pig=7
zoo=[cat,dog,pig]
(3)字典
在python的字典中,你要查找的单词叫做键(key),这些单词的释义叫做值(value)
animal_counts={"cat":2,"dog":5,"horse":1}
要想用键来访问一个值,可以从字典访问键,可以输入以下代码
animal_counts=['dogs']
通过字典将动物们存储清楚
animal_counts={
'cats':['Walter','Ra'],
'dogs':['Joker','Simon'],
'horse':['Mr.Ed','fide']}
存储同样的值还有另一种方法,它用到了更多的变量
cat_names=['Walter','Ra']
dog_names=['Joker','Simon']
horse_names=['Mr.Ed','fide']
animal_counts={
'cats':cat_names,
'dogs':dog_names,
'horse':horse_names}
字符串
整数和小数
列表
字典
在大多数情况下数据类型能做的事称为方法(Method),想要访问数据类型的方法,或者说让数据类型做一些事情,你可以用点号(.)。
1.strip方法:可以从头到尾删除字符串中多余的空格
filename='budeget.csv '
filename=filename.strip()
如果你没有对变量重新赋值的话(令filename等于filename.strip()的输出值),你对filename的修改不会被保存。
2.upper方法:文件名全部转换为大写
filename='budeget.csv '
filename=filename.upper()
可以将代码压缩成一行来运行
filename='budeget.csv'.upper()
如果计算42的平方,那需要输入42**2。
Python列表支持加法,却不支持减法,如果想了解如何对列表做减法,参考remove方法。
1.定义空列表
dog_name=[]
2.append方法:添加元素
dog_name.append('joker')
3.remove方法:删除元素
dog_name.remove('walter')
1.创建一个空的字典
animal_counts={}
2.添加键并给定这个键对应的值
animal_counts['horses']=1
animal_counts['cats']=3
animal_counts['pigs']=6
3.返回字典包含的所有键
animal_counts.keys()
4.依据键检索到与其对应的值
animal_counts['horses']
type可以帮助你确定你的对象属于哪种数据类型
type('20011')
type(20011)
第一行返回的是str,第二行返回的是int
dir可以让你深入了解每一种python数据类型的内置方法
dir('cat')
利用Python字符串内置的splict方法,我们可以用逗号为分隔符,将字符串切分成更小的字符串。
'cat,dog,panda'.split(',')
python会返回一个列表
['cat', 'dog', 'panda']
help方法会返回对象、方法或模块的帮助文档
help('cat,dog,panda'.split)
名称 |
举例 |
字符串 |
‘Joker’ |
整数 |
2 |
浮点数 |
2.0 |
变量 |
Animai_names |
列表 |
[‘cat’,’dog’,’panda’] |
字典 |
{‘cat’=2,’dog’=1,’panda’=5} |
举例 |
用途 |
type(‘joker’) |
返回‘joker’的对象类型 |
dir(‘joker’) |
返回一个列表,给出对象‘joker’可以做的所有事情(方法和属性) |
help(‘joker’.strip) |
返回给定方法(在本例中是strip)的说明文档,以便我们更好了解使用它 |
以易于机器理解的方式来存储数据的文件格式,通常叫做机器可读的(machine readable)。常见的机器可读格式有
CSV文件(简称为CSV)是指将数据列用逗号分隔的文件,文件的拓展名是.csv
访问网页(http://apps.who.int/gho/data/node.main.3?lang=en)
(1)如何导入CSV数据
import csv
csvfile=open('data.csv','r')
reader=csv.reader(csvfile)
for row in reader:
print(row)
函数(function)是一段代码,在被调用时执行相应的任务。它和Python数据类型的方法十分相似。函数有时候会接收一个(或多个)输入。这些输入叫做参数(argument)。函数的功能是基于参数的。函数有时也会返回一个输出,可以被保存或使用。
(2)将代码保存到文件中并在命令行运行
cd C:\Users\朱纪翔\Desktop\练习,cd可以使用变更目录或文件夹命令。
在命令行中输入python main.py
将列表行改成字典行,需要将reader=csv.reader(csvfile)修改成reader=csv.Dictreader(csvfile)。
import csv
csvfile=open('data.csv','r')
reader=csv.DictReader(csvfile)
for row in reader:
print(row)
现在我们已经成功地将CSV数据导入到python中,我们能够从文件中获取数据,并将其转换成python可用的格式(字典),for循环能够让我们直观地查看数据。我们可以利用CSV库两种不同的reader来查看数据,一种是列表形式,一种是字典形式。
import json
json_data=open('data-text.json').read()
data=json.loads(json_data)
for item in data:
print(item)
在CSV的例子中,我们以只读方式打开文件;但在JSON的例子中,我们读取文件的内容,并将其保存在变量json_data里面。在CSV的例子中,open函数返回的是一个文件对象;但是在JSON例子中,我们首先打开文件,然后读取文件,所以得到的是一个str(字符串)。两者的不同是基于下列事实:Python的json库和csv库处理输入数据的方式不同。
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)
XML格式,使用了一种叫做标签的东西。
XML是一种标记语言,它具有包含格式化数据的文档结构。XML文档本质上知识格式特殊的数据文件。标签(或节点)以层次化和结构化的方式保存数据。
在XML文件中有两个位置可以保存数据值:一个位置是在两个标签之间,比如在
每一“行”数据都包含在一个Observation标签中,在每一个Observation节点内,这些数据行又分别包含在Dim,Value和Display节点中。