一、Python是一门动态解释的强类型定义语言。
二、python2与python3的区别:
- python2
-
- 默认编码方式ASCII码
- 解决方法:首行 #-*-encoding:utf-8
- print不用加()
- range()有序列表,xrange()生成器
- raw_input()输入
2.python3
-
- 默认编码方式:utf-8
- print()
- range()
- input()
三、格式化输出
- '{},{}'.format(按位置去写)或'{0},{1},{2}'.format(按索引去写)'{name},{sex}'.format(name=,sex=)
四、字符串的操作
- 首字母大写 capitalize()
- 全部大写 upper()
- 全部小写 lower()
- 大小写翻转 swapcase()
- 每个隔开的单词首字母大写 title()
- 居中 center(宽度,填充物)
- \t与前面的补充到一个tab键 expandtabs()
- 公共方法
- 测量长度 len()
- 以什么开头 startwith('字符串')切片中以什么开头startwith('字符串',start,end)
- 找字符串,返回索引,找不到返回-1 find() 可以切片find('字符串',start,end)
- 找字符串,找到返回索引,找不到报错 index()
- 去除字符串前后空格 strip(),删除特殊字符strip('%')与('%*')
- rstrip()
- lstrip()
- 计数 count()
- 拆分、分割 split()(str-->list)
- 替换 replace(旧的,新的,次数)默认全替换
- 是不是由什么构成 is
五、列表与元组
- 增删改查
-
- 追加:append()
- 插入:insert()
- 迭代插入:extend()123不可迭代,[1,2,3]添加的是元素
- 删除列表: del();
- 删除后返回结果pop()默认从末尾开始,可以通过索引删除并返回结果;
- 按元素去删: remove('value');
- 清空列表: clear()
- del 列表[];顾头不顾尾
- 按索引改:列表[索引]=''
- 按切片去改,添加的被迭代
- 排序
- 排序:sort();倒序:sort(reverse=True)
- 列表嵌套
- 列表里的列表
- 元组:只读列表,可循环查询,可切片;儿子不能改,孙子可能可以改(元组里的列表里的元素能改,能追加)
- join(可迭代对象);返回的是字符串(list-->str)
- range(开始,end,间隔)自动生成按序排列的列表range(10,0,-1)从10到1;range(0,10,-1)啥也不输出
1 li=['汽车','轿车','宝马'] 2 li[0]=[1,2,3] 3 print(li) 4 li=['汽车','轿车','宝马'] 5 li[0:2]='车' 6 print(li) 7 li=['汽车','轿车','宝马'] 8 li[0:2]='卡车' 9 print(li) 10 li=['汽车','轿车','宝马'] 11 li[0:2]=[1,2,3,'汽车','卡车'] 12 print(li) 13 li='汽车' 14 print('*'.join(li)) 15 li=['汽车','轿车','宝马'] 16 print('*'.join(li)) 17 li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds'] 18 for i in range(len(li)): 19 if type(li[i]) ==list: 20 for j in li[i]: 21 print(j) 22 else: 23 print(li[i])
六、字典
- 数据类型划分:可变数据类型,不可变数据类型
-
- 不可变数据类型(可哈希):元组,bool,int本身,str
- 可变数据类型:list,dict,set(元素不可变)
2. 字典的Key必须是不可变数据类型,value任意
- 优势:二分查找去查询;存储大量的关系型数据
- 特点:无序的,3.6有序
3. 字典的增删查
- 增:字典名['']=值,没有键值对的增加,有就覆盖;.setdefault(key,value)没有键值对的增加,有就不修改;
- 删:pop()按key删除,有返回值,没有键值对会报错,最好,pop('key',None),可设置返回值;popitem()随机删除,返回key:vaue;del 字典['']没有键值对会报错,可以删除字典
- clear()清空字典
- 字典名['']=值,字典1.update(字典2):将字典2的键值对更新到字典1
- 查:for key,vaule in 字典.item():
- for key in 字典. keys():
- for vaule in 字典.vaules():
- print(字典[''])打印值,没有键值对会报错
- get('',None)打印值,没有键值对返回None
- 嵌套:列表追加append();
1 dic={ 2 'name':'太白', 3 'sex':'男', 4 'age':18, 5 } 6 #没有键值对的增加 7 dic['heigh']=185 8 #有就覆盖 9 dic['age']=16 10 dic.setdefault('weight',120)
七、编码
- ASCII
- 一个字节8位
- - unicode
- 一个字符(中文)32位,四个字节
- - utf-8
- 英文一个字节8位,中文24位
- - gbk
- 英文一个字节8位,中文16位
- 各编码之间的二进制,是不能相互识别的,会产生乱码
- 文件的存储,传输,不能是Unicode(只能是utf-8,utf-16,gbk,gb2312,ascii等)
- py3:str在内存中是用Unicode编码;bytes类型