python基础要点

一、Python是一门动态解释的强类型定义语言。

二、python2与python3的区别:

  1. 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=)

四、字符串的操作

  1. 首字母大写 capitalize()
  2. 全部大写 upper()
  3. 全部小写 lower()
  4. 大小写翻转 swapcase()
  5. 每个隔开的单词首字母大写 title()
  6. 居中 center(宽度,填充物)
  7. \t与前面的补充到一个tab键 expandtabs()
  8. 公共方法
  • 测量长度 len()
  • 以什么开头 startwith('字符串')切片中以什么开头startwith('字符串',start,end)
  • 找字符串,返回索引,找不到返回-1 find() 可以切片find('字符串',start,end)
  • 找字符串,找到返回索引,找不到报错 index()
  • 去除字符串前后空格 strip(),删除特殊字符strip('%')与('%*')
  • rstrip()
  • lstrip()
  • 计数 count()
  • 拆分、分割 split()(str-->list)
  • 替换 replace(旧的,新的,次数)默认全替换
  • 是不是由什么构成 is

五、列表与元组

  1. 增删改查
    • 追加:append()
    • 插入:insert()
    • 迭代插入:extend()123不可迭代,[1,2,3]添加的是元素
    • 删除列表: del();
    • 删除后返回结果pop()默认从末尾开始,可以通过索引删除并返回结果;
    • 按元素去删: remove('value');
    • 清空列表: clear()
    • del 列表[];顾头不顾尾
    • 按索引改:列表[索引]=''
    • 按切片去改,添加的被迭代
    • 排序
    • 排序:sort();倒序:sort(reverse=True)
    • 列表嵌套
    • 列表里的列表
  1. 元组:只读列表,可循环查询,可切片;儿子不能改,孙子可能可以改(元组里的列表里的元素能改,能追加)
  • 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])

六、字典

  1. 数据类型划分:可变数据类型,不可变数据类型
    • 不可变数据类型(可哈希):元组,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)

七、编码

  1. ASCII
    • 一个字节8位
  2. - unicode
    • 一个字符(中文)32位,四个字节
  3. - utf-8
    • 英文一个字节8位,中文24位
  4. - gbk
    • 英文一个字节8位,中文16位
  5. 各编码之间的二进制,是不能相互识别的,会产生乱码
  6. 文件的存储,传输,不能是Unicode(只能是utf-8,utf-16,gbk,gb2312,ascii等)
  7. py3:str在内存中是用Unicode编码;bytes类型

猜你喜欢

转载自www.cnblogs.com/xk66d/p/10808933.html