1.字符编码
ASCII :最多是8位表示一个字节 (8位最多表示255的字符)一个字符占8位,ASCII码最多只能表示 255 个符号。
Unicode 每个字符占2个字节也就是16位(不管中英文,最少2个字节,可能更多
utf-8 :可变长的(英文的还是存的ASCII,存中文是utf-8 但是占3个字节)
python2版本默认ASCII
python3是默认utf-8
2.字符串
"hello world"
name = "alex"
print ("i am %s “) % name
字符串是 %s;整数 %d;浮点数
%f
字符串常用功能:
- 移除空白 strip
- 分割 split
- 长度 len
- 索引 index
- 切片
3、列表
创建列表:
name_list = ['alex', 'seven', 'eric']
name=(‘vjdfkl’,’lfdnb')或
name_list= list(['alex', 'seven', 'eric'])
names = ['Alex',"Tenglan",'Eric']
基本操作:
- 索引 names[0]
- 排序 names.sort()
- 反转:name.reverse()
- 获取下标:names.index(“Alex")
- 切片 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下标1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3]
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Rain', 'Tom', 'Amy']
>>> names[3:-1] #这样-1就不会被包含了
['Rain', 'Tom']
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
['Alex', 'Eric', 'Tom']
>>> names[::2] #和上句效果一样
['Alex', 'Eric', 'Tom']
- 追加
- 插入
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.insert(2,"前面")
>>> names
['Alex', 'Tenglan', '前面', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
- 删除
>>> del names[2]
>>> names
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.remove("Eric") #删除指定元素
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
>>> names.pop() #删除列表最后一个值
'我是新来的'
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy’]
- 扩展
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
- 拷贝
a=names.copy()
print(a)
- 统计
names.count(“")
4、元组(不可变列表)创建元组:
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
5
、字典(无序)
创建字典:
person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})
info =
{
'stu1101': "TengLan Wu"
,
'stu1102': "LongZe Luola"
,
'stu1103': "XiaoZe Maliya"
,
}
常用操作:
- 索引
- 新增
- 查找
>>> info ={'stu1102': 'Lura', 'stu1103': 'Mali', 'stu1101': ‘haha'}
>>> "stu1102" in info #标准用法
True
>>> info.get("stu1102") #获取
'Lura''
>>> info["stu1102"] #同上,但是看下面
'Lura'
>>> info["stu1105"] #如果一个key不存在,就报错,get不会,不存在只返回None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'stu1105'
- 删除
>>> info
{'stu1102': 'Lura', 'stu1103': 'Mali', 'stu1101': ‘haha'}
>>> info.pop("stu1101") #标准删除姿势
‘haha'
>>> del info['stu1103'] #换个删除
>>> info
{'stu1102': 'Lura'}
>>>
info={'stu1102': 'Lura', 'stu1103': 'Mali'}#随机删除
>>> info.popitem()
('stu1102', 'Lura')
>>> info
{'stu1103': 'Mali'}
- 键、值、键值对
- 循环
#方法1
for key in info:
print(key,info[key])
#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
print(k,v)
- 长度
6.集合
python 集合的添加有两种常用方法,分别是add和update。
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:
>>> a = set('boy')
>>> a.add('python')
>>> a
set(['y', 'python', 'b', 'o'])
集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
>>> a = set('boy')
>>> a.update('python')
>>> a
set(['b', 'h', 'o', 'n', 'p', 't', 'y'])
集合删除操作方法:remove
set(['y', 'python', 'b', 'o'])
>>> a.remove('python')
>>> a
set(['y', 'b', 'o'])
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:
>>> a = set('boy')
>>> a.add('python')
>>> a
set(['y', 'python', 'b', 'o'])
集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
>>> a = set('boy')
>>> a.update('python')
>>> a
set(['b', 'h', 'o', 'n', 'p', 't', 'y'])
集合删除操作方法:remove
set(['y', 'python', 'b', 'o'])
>>> a.remove('python')
>>> a
set(['y', 'b', 'o'])
包含in 和 not in
|合集
&交集
-差集
^对称差集
==
>,>= ,<,<= 父集,子集
7.打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将
自动转换成
(与 r 或 r+ 模式同使用)
rU
r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb