首页 > 代码库 > Python基础知识

Python基础知识

  1. Python种类和其他语言的对比
    • CPython:代码 -> C 字节码 -> 机器码 (一行一行进行编译执行)
    • PyPy:代码 -> C 字节码 -> 机器码 全部转换完 再执行->执行
    • 其他Python(Jython): 代码 -> 其他字节码 -> 机器码
  2. 字符编码:
    • ascii :8位二进制数来表示 256种可能的字符,00000000 2**8=256
    • unicode 万国码: 至少两个字节起,占用内存空间比较大。
    • utf-8 :弹性存储,是对万国码的压缩。中文占三个字节。00000000 00000000 00000000
    • gbk,gb2312:中文需要两个字节。00000000 00000000  
  3. 变量
    • 字母
    • 数字(变量不能以数字开头)
    • 下划线
    • 不能使用关键字来命名变量
    • 变量名需要设置一个有意义的,可以通过下划线方式。eg:usr_info
  4. Python数据类型
    • 布尔值:
      • 数字:只有数字0是 False,其他都是 True
      • 字符串:只有""是 False,其他的都是 True,包括" "。有空格也表示 True
  5. 占位符
    • 相关格式:
      • name = ‘我叫: %s,性别: %s,年龄: %d‘ % (‘张志辉‘, ‘男‘, 18)
  6. 运算符
    • and or 运算符
      • 1 == 1 and 1 > 2 or 1 == 4  False 如果遇到and,左侧正确再继续向后看,如果右侧也正确,则就表示正确。or后面的就不用看了
      • 1 == 1 or 1 > 2 and 1 == 4  True   从左到右。如果遇到or,如果左侧是True,右侧就不用看了,直接忽略,打印出来是True。
      • 原理:and 和 or 优先级相等,
  7. String相关操作
    • 移除空格和换行符
      • val = ‘ alex ‘ 。
        • val.strip()   #移除左右空格,包括回车换行。
        • val.lstrip()  #移除左侧空格,rstrip()表示移除右侧空格
    • 分割
      • val = ‘zhang|zhihui|9|10‘
        • val.splict(‘|‘)  #通过 | 来分隔,分隔出list:[‘zhang‘, ‘zhihui‘, ‘9‘,‘10‘]
        • val.splict(‘|‘,1)  #表示只分隔左侧第一个|,分隔出list:[‘zhang‘, ‘zhihui|9|10‘]。如是2,则表示分隔左侧两个 |
    • 长度&索引
      • len(val)  长度
      • val[0]     索引
    • 切片
      • name = ‘zhangzhihui‘  
      • name[0:5]  #打印索引 0,1,2,3,4 五个字符。
      • name[0:5:2]  #打印索引 0,2,4 三个字符,步长为2.
  8. List 列表
    • 删除
      • n = [ ‘zhang‘, ‘zhi‘, ‘hui‘ ]
      • v = n.remove(‘zhi‘)  #根据value删除
      • v = del(n[0])   #按照索引删除
    • 更新
      • n = [ ‘zhang‘, ‘zhi‘, ‘hui‘ ]
      • n[1] = ‘zhao‘
  9. 字典
    • 创建
      • 1 user = {
        2     name: zhiHui,
        3     age: 18,
        4     gender: male
        5 }
    • 增加&更新
      • user[‘age‘] = 34         #如果没有该key,则新增;如果有该key,则更新。
    • 索引
      • n = user[‘name‘]       #可以通过key获取值。获取值为:zhiHui
    • 删除
      • del user[‘name‘]       #通过key来删除
    • 循环
      • # 打印字典里的key
        for item in val.keys():
            print(item)
        
        # 打印字典里的values
        for item in val.values():
            print(item)
        
        # 打印键值对
        for key, value in val.items():
            print(key, value)
    • 相互嵌套
      •  1 user_dict = {
         2     k1: value1,
         3     k2: {kk1: vv1, kk2: vv2, kk3: vv3},
         4     k3: 123,
         5     k4: [alex, eric, [a, b, c], 张志辉, {k11: v11}]
         6 }
         7 
         8 # K4下的list列表中append一个元素
         9 user_dict[k4][2].append(dog)
        10 print(user_dict)
        11 
        12 # 通过索引得到其中的一个元素的value
        13 n = user_dict[k4][4][k11]
        14 print(n)
        15 
        16 # 通过key更新 value
        17 user_dict[k2][kk1] = zhang
        18 print(user_dict)
        19 
        20 # 插入key and value
        21 user_dict[k5] = 7899
        22 print(user_dict)

 

Python基础知识