上节课讲的内容

    变量、输入输出、选择语句 比较运算符:     >,<,>=,<=,!=,==... 逻辑运算符:     and or not  演示08_answer.py 石头剪刀布人机大战    

字符编码:

    ASCII、GB2312、GBK、UNICODE------> utf-8
ord('A')=65 chr(66)='B'   # -*- coding: utf-8 -*- 告诉别人,你的Python文件是UTF-8编码  

Python的字符编码问题总结:

使用说明

1.str就是str类型,Python内部用UTF-8编 2.bytes(str,encoding="UTF-8")可以把str转化为UTF8编码的字节流 3.str.encode("gbk") 吧str转化为gbk编码的二进制串 4.byte.decode("UTF-8") 把二进制串按照UTF-8编码解析成字符串 5.Python默认写入文件是gbk编码,想要修改可以打开文件时用UTF-8 例: 把字符串转化为UTF-8编码的二进制串
bytes(str(a), encoding="UTF-8")
把字符串转化为gbk编码的二进制串
str(a).encode("gbk")
  把GBK编码的二进制串用GBk编码方式解码成字符串
str(a).encode("gbk").decode("GBK")
用默认(GBK)方式打开文件并进行写操作(Python会先gbk打开文件,给写入字符串编码成gbk,再写入文件)
with open("b.txt" , "w") as f:
f.write(str(a))
  用UTF-8打开文件并进行写入操作( Python会先UTF-8打开文件,给写入字符串编码成UTF-8,再写入文件)
with open("b.txt" , "w", encoding="UTF-8") as f:
f.write(str(a))
 

典型错误:

str(a).decode("UTF-8")
错误1:str类型不能decode,bytes不能encode
print(str(a).encode("gbk").decode("UTF-8"))
错误2:用gbk编码成二进制串,再用UTF-8解码不了  

重要数据结构:

list 列表

    Python 内置的一种数据类型是列表:list。     list 是一种有序的集合(非数学上的集合),可以随时添加和删除其中的元素。       classmate=['小明', '小张']     classmate[0]='小明' ----------->下标从0开始,不可以下标越界     classmate[1]='小张'     增加:append(值) ------>加到结尾     插入:insert(位置,值)------->加到指定位置     删除 pop(位置)     修改:直接赋值     len(列表名) = 列表元素个数       更多操作,11.py  

tuple 元组

    类似列表,但是不可以修改     classmate=('小明', '小张')  

dict 字典类型

    采用hash方式存储,从名字快速对应到内容(so 名字是唯一的),速度快,空间换时间 (what is hash? 127.0.0.1/my/test.php)     d={'aa':95 , 'bbb':80 ,'ccccc':100}          查询:通过名字找到对应的值         d['aa']     增加:去一个名字,然后赋值就可以。         d['dddd'] = 120         d['aa']=150 --------->会覆盖原来的值     修改:直接赋值         d['aa']=150        删除:pop         d.pop('aa')         d.clear()全部删除  

set 集合 (数学上的集合,不可以有重复的值)

    由list创建     s=set([1,2,3,4,5]) = {1,2,3,4,5}     s=set([1,2,2,4]) ={1,2,4}     s.add()     s.remove()     两个set可以做数学意义上的交集、并集等操作     & | 

程序控制结构

循环结构:

    for ... in ...:         ...       example:         classmate=['asd','asdasd']         for i in classmate: -------->给每一个list类型的值取出来放到i             print(i , end=" ")           for i in range(len(classmate)):------->len取长度,classmate的个数,range(n) 相当于生成[0,n)的整数             print(classmate[i])                  list(range(10)) ------->给rang转化为list类型       while ...:         ....         ...       i=10     while(i!=0):         print(i)         i=i-1  
每一项演示10.py 用户登录、添加、查看 09.py
           

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。