Pycharm 左下角有个pyhton console可以直接掉出来类似于idle的东西
- 字典
d = {‘banner’:‘wonderful’,‘title’:‘red’,‘hobby’:'hurry’}
d[‘banner’]
‘wonderful’
一般都会通过.get(‘’)实现,不会报错
d={‘na’:‘jon’,‘tall’:‘187’,‘weight’:‘190’}
d[‘tall’]
‘187’
d.get(‘tall’)
‘187’
d.get(‘color’,0.0)
0.0
- 也可以通过这样的形式去创建字典
pr=dict(name=‘tony’,age=20,hobby=‘swimming’)
pr
{‘name’: ‘tony’, ‘age’: 20, ‘hobby’: ‘swimming’}
- 字典表和列表都支持原位改变,但是字符串不支持,如果在字典表里合并其他的字典表可以用这个 .update()
pr
{‘name’: ‘tony’, ‘age’: 69.0, ‘hobby’: ‘swimming’}
dep={‘department’:‘tch’}
pr.update(dep)
pr
{‘name’: ‘tony’, ‘age’: 69.0, ‘hobby’: ‘swimming’, ‘department’: ‘tch’}
- 在字典表中弹出去一项,用 .pop( ) 来表示
pr
{‘name’: ‘tony’, ‘age’: 69.0, ‘hobby’: ‘swimming’, ‘department’: ‘tch’, ‘sexy’: ‘boy’}
pr.pop(‘sexy’)
‘boy’
pr
{‘name’: ‘tony’, ‘age’: 69.0, ‘hobby’: ‘swimming’, ‘department’: ‘tch’}
#展示的结果中就没有了sexy这个选项
- 我们想直接查看一下字典表里面有哪些类型,可以用keys( )
pr.keys()
dict_keys([‘name’, ‘age’, ‘hobby’, ‘department’])
- 我们想看有哪些值可以用 .values()
pr.values()
dict_values([‘tony’, 69.0, ‘swimming’, ‘tch’])
#注意输出的结果并不是一个list,只不过是图形化的,还是和字典表有关的
- 支持嵌套
emp = {‘age’:20,‘name’:{‘firstname’:‘tony’,‘lastname’:‘johnson’}}
emp.get(‘name’)
{‘firstname’: ‘tony’, ‘lastname’: ‘johnson’}
emp[‘name’][‘firstname’]
‘tony’
- 因为字典不可以排序,但是可以把字典变成列表然后再用.sort() .reverse()进行排序 ;默认的函数去排序;
ks=d.keys()
ks
dict_keys([‘a’, ‘b’, ‘c’, ‘d’])
for k in sorted(ks):print(k,d.get(k))
a 1
b 2
c 3
d 4
- 元组tuple,class,字典表的混合体(无需必须会,简单看看即可)
from collections import namedtuple
employee = namedtuple(‘employee’,[‘name’,‘age’,‘department’,‘salary’])
jerry = employee(‘jerry’,age=30,department=‘caiwu’,salary=9000)
jerry
employee(name=‘jerry’, age=30, department=‘caiwu’, salary=9000)
jerry.name
‘jerry’
- 文件(当电脑里有一些文件的时候,python没法直接使用,需要通过一个内置函数去使用 用open表示)
- Myfile = open(‘hello.txt’.’w’)创建一个可写的’w’的文件
- myfile.write(‘油品课堂’) myfile.close() 可以输出‘油品课堂’,第一个过程代表写入了’油品课堂’
- f =open(‘hello.txt’,’r’)表明建立要可以读取信息的文件,r可以省略
- f.read()读取信息,再输入就没有了,因为f.read()是指针它存了那个输出的东西,你再弄一个指针就没有东西了
- f.readline()一行一行读,f.readlines( )一下子都读出来
f = open(‘course.txt’,‘w’,encoding='utf8’) #防止出乱码
f.write('youpinketang ')
Out[42]: 13
f.write(‘mmm,www.sss’)
Out[43]: 11
f.close() - 读二进制的文件,bin二进制, rb,r是读,b是二进制;也可以在下面写f.read(),但是为了更简单就一起写
f = open(‘data.bin’,‘rb’).read() - 这里面f是一个存放文件的地方
l = {‘a’:1,‘b’:2}
m = open(‘datafile.pkl’,‘wb’) #忘记写逗号
import pickle #引入函数
pickle.dump(l,m) #把l放入m里
open(‘datafile.pkl’,‘rb’).read()
Out[105]: b’\x80\x03}q\x00(X\x01\x00\x00\x00aq\x01K\x01X\x01\x00\x00\x00bq\x02K\x02u.’
f = open(‘datafile.pkl’,'rb’)
data = pickle.load(f)
data
Out[111]: {‘a’: 1, ‘b’: 2}
d[‘a’]
Out[112]: 1
#看代码
with open(‘course.txt’) as f:
for line in f.readlines():
print(line)
#这样的话不用担心最后没有用.close()