python学习第三天
字符编码
ASCII是一些大小写字母、数字、一些符号,只有127个
Unicode标准把所有语言都统一到一套编码里
区别
- ASCII编码是1个字节
- Unicode编码是2个字节
为了节约内存,在Unicode的基础上发展出UTF-8编码
UTF-8编码把Unicode字符根据不同的数字大小编码成1-6个字节
python3
python3是用 Unicode编码
python提供ord()
函数获取字符的整数表示,chr()
函数把编码转换成对应的字符:
1.>>>ord('A')
2.65
3.>>>ord('中')
4.20013
5.>>>chr(66)
6.'B'
python 对byte
类型的数据用带b
前缀的单引号或双引号表示:
1.x=b'ABC'
要注意区分ABC
和b'ABC'
,前者是str
,后者虽然内容显示的和前者一样,但是byte
的每个字符都只占用一个字节
Unicode表示的str
通过encode()
方法可以指定编码,
如果在网络或磁盘上读取字节流,那么读取到的数据是byte
。要把byte
变为str
,就需要decode()
方法。
用len()
可以计算str
包含几个字符
如果是byte
数据,len()
就计算的是字节数
python编辑时注意
请务必UTF_8编码
1.#!/usr/bin/env python3
2.#-*- coding:utf-8 -*-
第一行是告诉系统,这是一个python可执行程序
第二行是告诉解释器,按照UTF-8编码读取源代码,否则代码中的中文输出可能会有乱码
格式化输出
同C语言,%d
整数,%f
浮点数,%s
字符串,%x
十六进制整数
输出%
就需要两个%%
list
- 定义
1.>>>class=['Michael','Bob','Trancy']
2.>>>class
3.['Michael','Bob','Trancy']
1.>>>len(class)
2.3
- 访问
1.>>>class[1]
2.'Bob'
3.>>>class[-1]
4.'Trancy'
- 插入
1.>>>class.append('Adam')#插入末尾
2.>>>class
3.['Michael','Bob','Trancy','Adam']
4.>>>class.insert(1,'Jack')#插入指定位置
5.>>>class
6.['Michael','Jack','Bob','Trancy','Adam']
- 删除
1.>>>class.pop()#删除末尾
2.>>>class
3.['Michael','Jack','Bob','Trancy']
4.>>>class.pop(1)#删除指定位置
5.>>>class
6.['Michael','Bob','Trancy']
- list里面的元素特点
- 改变某个元素,直接赋值给对应的索引位置
- list里面的元素的数据类型可以不同
- list元素也可以是另一个list
Tuple
和list类似,但是tuple一旦初始化后就不可修改
区别
- tuple用的是
class=('java','c++')
- tuple定义的时候就必须把元素确定下来
- 可变的tuple是里面的元素可为list
条件判断
跟c区别不大,就是注意:
,还有else if()
变成elif()
循环loop
- 用
for...in
依次把list或tuple中的每个元素迭代出来
1. sum=0
2. for x in range(101):
3. sum=sum+x
4. print(sum)
- 用
while()
,同C语言
dic字典
- 定义
1.>>>d={'Michael':96,'Bob':45,}
2.>>>d['Michael']
3.96
- 增加
1.>>>d['Adam'=67]
2.>>>d['Adam']
3. 65
- 删除
1.>>>d.pop('Bob')
2.45
3.>>>d
4.{'Michael':96,'Adam':65}
- 改变
1.>>>d['Jack']=90
2.>>>d['Jack']
3.90
4.>>>d['Jack']=78
5.>>>d['Jack']
6.78
- 查找
1.>>>d.get('Thomas')
2.>>>d.get('Thomas',-1)
3.-1
- 判断key是否在dic
1.>>>'Thomas' in d
2.False
set
与dic相似,但是不存储value,且key不可重复,无序
- 定义
创建一个set,需要提供一个list作为输入集合
1.>>>s=set([1,1,2,3])
2.>>>s
3.{1,2,3}
- 增加
1.>>>s.add(4)
2.>>>s
3.{1,2,3,4}
- 删除
1.>>>s.remove(4)
2.>>>s
3.{1,2,3}
- 可进行交集、并集运算
1.>>>s1=set([1,2,4]) 2.>>>s2=set([2,3,4]) 3.>>>s1&s2 4.{2,4} 5.>>>s1|s2 6.{1,2,3,4}