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'])
 

包含in 和 not in

|合集

&交集

-差集

^对称差集

==

>,>= ,<,<= 父集,子集

 
7.打开文件的模式有:
 
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读;   不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
 
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
 
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb