文章目录
一. 字典表(键对应值)
- 声明(两种方式)
d={'ISBN':'23412343','Titile':'Python入门','price':39.0}
d
{'ISBN': '23412343', 'Titile': 'Python入门', 'price': 39.0}
emp=dict(name='Mike',age=20,job='dev')
emp
{'name': 'Mike', 'age': 20, 'job': 'dev'}
- 操作
(1)获取
d['price']
39.0
d.get('price')
39.0
d.get('Price',0.0)
0.0
(2)合并
dep={'department':'technology'}
emp.update(dep)
emp
{'name': 'Mike', 'age': 20, 'job': 'dev', 'department': 'technology'}
- 属性
(1) keys()
emp.keys()
dict_keys(['name', 'job', 'department'])
(2) values()
emp.values()
dict_values(['Mike', 'dev', 'technology'])
(3) items()
emp.items()
dict_items([('name', 'Mike'), ('job', 'dev'), ('department', 'technology')])
- 排序键
(1)将keys()放入列表再排序
d={'a':1,'b':2,'c':3,'d':4}
ks=list(d.keys())
ks.sort()
ks
['a', 'b', 'c', 'd']
for k in ks:
... print(d.get(k))
...
1
2
3
4
(2)使用全局函数sorted()
for k in sorted(ks):
... print(k,d.get(k))
...
a 1
b 2
c 3
d 4
二. 元组(不支持原位改变)
- 特征
(1)任意对象有序集合
(2) 通过下标访问
(3)属“不可变”类型
(4)长度固定,任意类型,任意嵌套 - 声明
(1)(元素)
(2)index():查找索引
t=(1,2,3,4,5)
t.index(3)
2
(3) count():统计数量
t.count(3)
1
(4)嵌套
res=[]
for x in t:
... res.append(x**2)
...
res
[1, 4, 9, 16, 25]
res=[x**2 for x in t]
res
[1, 4, 9, 16, 25]
- namedtuple (很像类)
from collections import namedtuple
Employee=namedtuple('Employee',['name','age','department','salary'])
jerry=Employee('Jerry',age=30,department='eco',salary=9000)
jerry
Employee(name='Jerry', age=30, department='eco', salary=9000)
jerry.name
'Jerry'
jerry.salary
9000
三. 文件
1. 基本语法
- file=open(‘文件名’,mode)
- mode(r读取,w写文件,a追加信息,b操作二进制文件,+即可读又可写)
2.操作
- read()
myfile=open('hello.txt','w')
myfile.write('优品课堂\n')
5
myfile.write('Hello world\n')
12
myfile.close()
f=open('hello.txt','r')
f.read()
'优品课堂\nHello world\n'
- readline() 读取一行
f=open('hello.txt')
f.readline()
'优品课堂\n'
f.readline()
'Hello world\n'
- readlines() 读取多行
l=open('hello.txt').readlines()
l
['优品课堂\n', 'Hello world\n']
- close()
- format
x,y,z=1,2,3
l=[1,2,3]
f=open('datafile.txt','w')
f.write('{},{},{}'.format(x,y,z))
5
f.write(str(l))
9
f.close()
3. pickle存取Python数据
- dump(对象,目标文件)
d={'a':1,'b':2}
f=open('datafile,pkl','wb')
import pickle
pickle.dump(d,f)
- load(文件)
f=open('datafile,pkl','rb')
data=pickle.load(f)
data
{'a': 1, 'b': 2}
data['a']
1
data.get('b')
2
- 直接跳脱,不用写close()
with open('course.txt') as f:
... for line in f.readlines():
... print(line)
...
优品课堂 Python教程
www.codeclassroom.com
三. 汇合
1. 集合
- 序列
(1) 可变:列表 list
(2) 不可变: 字符串 str ,元组 tuple,字节数组 - 映射:字典表
- 集合: Set
2. 数字
- 整型
(1)int
(2) boolean - 浮点型
(1) float
(2) Decimal
(3) …
3. 可调用
- 函数 function
- 生成器 Generator
- 类 class
- 方法
4. 其他
- 文件
- None
- 视图
- …
5. 内部
- Type
- …