• python学习笔记


      

    python3与python2的区别:
      python3的默认编码格式为UTF-8
      与python2不同,需要通过#coding:UTF-8来声明
    Linux中运行加声明:#!/usr/bin/python

    python -c "import pty; pty.spawn('/bin/bash')" : 将终端返回出来
    python -m SimpleHTTPServer 端口号;使用文件夹当作服务器使用

    字符串格式化:
      '%06d' %(1) : 以6位数的方式补齐,位数不够补0
      format:格式化字符串

    强类型语言,变量可可以通过赋值指向不同类型的对象当把变量b的值赋给变量a的时候,表示变量a和变量b所指向的对象为同一个,更改其中一个的值,另一个的值也会随之改变


    input():键盘输入数据(python2使用raw_input()接收字符串)
    type():返回数据类型


    python基本数据类型为:列表,元组,集合,字典

    list:列表
      li.append():末尾添加元素
      li.insert(位置, value):根据下标添加
      li.pop(位置):末尾删除元素,参数可选,参数为下标
      li.remove(值):根据值删除元素
      li.sort():排序
      reverse = False参数可选,默认倒序
      li.index(值):判断元素第一次出现的位置

    tuple:元组
      可以使用切片和+对元组进行操作
      元组数据不允许修改
      声明只有一个值的元组时需要加逗号分隔 例(a,)

      1.与字符串一样,元组的元素不能修改
      2.元组可以被切片
      3.注意包含0个和1个的特殊语法规则
      4.可以使用+操作的拼接

    set:集合,存放无序不重复序列
      set():定义空的set 集合 空的{}是空字典
      add:添加元素
      discard:删除元素
      pop:随机删除()
      clear:清空

    集合的运算:
      a - b,a中不包含b的元素
      a & b,a和b中共同元素
      a | b,a和b的所有元素,去重
      a ^ b,不包含共同元素的集合

    dict:
      key->value
      字典只判断键是否存在,
      可以通过不存在的key指向val的方式添加新的元素
      dict转换成list 的时候会自动删除
      使用for循环遍历字典默认为key
      keys:全部键值
      values:全部值
    字典是一种映射类型,他的元素是键值对象
      字典的值的类型必须为不可变类型
      创建空字典使用{}
      pop(键值):根据键删除值
      itmes():取出字典中的键值对

    break:跳出循环
    continue:跳出本次循环

    range:生成一个序列(包含左边不包含右边,第三个参数为步长,可为负数)

    字符串常用函数:
      len(''):字符串的长度
      ''.split(''):字符串分割
      ''.strip():去除前后的空格
      ''.upper():转换成大写
      ''.lower():转化为小写
      '-'.join(list):字符串连接列表
      ''.replace('val1', 'val2'):替换字符
        将字符串中的val1,替换成val2
      ''.count('a'):计数
        计算字符串中'a'出现的数量
      ''.find('val'):从左边开始查找val出现的位置
      ''.rfind('val'):从右边开始查找val出现的位置
      ''.title():每个字符的首字母的头单词大写
      ''.capitalize():第一个字符大写


    函数式编程:
      将其他函数作为参数传递,并在内部调用

      纯函数:不改变任何值,只依赖于参数进行计算
      非纯函数:可能改变任何值

    匿名函数:
      lambda 参数列表:表达式


    map(函数名, 序列):
      序列中每一个值都执行一次函数,返回一个新的迭代器
    filter(函数名, 序列):
      过滤掉值序列中为false的值

    reduce(函数名,序列):
      函数名必须接收两个值,执行累加操作
    迭代器:
      iter(列表):将列表转化为迭代对象
        迭代器与列表的区别
        迭代器不是一次将内容加载出来,而是通过每调用一次next()函数,就会加载一次

    生成器:使用yield关键字
      可以向return一样直接使用变量接收
      __next__():使用此方法获取下一个yield的值

    模块的使用:
      import 文件名

      调用模块的时候,不会执行if __name__ = '__main__' 代码块下的内容

      python文件下需要__init__.py文件,该文件是空的

    sys.argv[0]:表示当前文件名称

    os模块:系统操作功能
      方法名       介绍
      os.name     返回正在使用的平台
      os.getcwd        获得正在使用的脚本目录
      os.getenv        读取环境变量
      os.listdir          显示当前文件夹下所有文件
      os.remove       删除文件
      os.system       执行系统命令
      os.sep        给出当前系统命令分隔符
      os.path.isfile   判断文件是否存在(返回false和true)
      os.path.isdir    判断文件夹是否存在(返回false和true)

    with open() as 别名:(防止文件意外关闭是写不到文件中)
      open(文件名, 模式, encoding='')
      read() 读
      readline() 读取一行
      readlines() 读取全部
      write(str) 写
      writelines(seq) 写如元组或者列表
      seek:指针
    模式(加b为2进制) 效果
      r 读,文件不存在抛出异常
      w 写,文件存在就覆盖
      a 追加,在文件的末尾添加元素,不存在就创建
      r+ 读写,指针放在文件的开头,文件不存在抛出异常
      w+ 读写,文件存在就覆盖
      a+ 追加,可读写
      csv:写到表格中(写多行在open中将newline设置为空串)
    csw = csv.writer(open对象)
      csw.writerow(list对象)

      csw = csv.reader(open对象)

    异常处理:
      raise 自己引发异常
    try:
      代码块
    except:
        出现异常时候执行的代码块
    finally:
      最后执行的代码

    time.sleep(s秒): 延时s秒

    爬虫:decode('utf-8')解码
      encode('utf-8')编码
    批量性爬虫

    增量型爬虫

    垂直型爬虫

    requests:
      requests.get(url, headers="")

      response.request.headers 获取请求头i
      response.headers 获取相应头
      re.status_code == requests.codes.ok
        判断请求头代码是否与相应代码是否相等

      get中的timeout=5属性 如果5秒内网页没有响应,抛出异常
    参数:


    响应属性:


    lxml
      / 从根节点开始
      // 从任意节点开始
      /text() 获取文本中的值
      @ 属性的选取
      string(xpath语法):获取xpath中的所有字符

  • 相关阅读:
    【Golang】golang文本处理
    【Golang】golang中临时对象池sync.Pool
    WebSocket介绍
    【Linux】linux常用命令操作整理
    【PHP】php7新特性及其优化原理
    【Mysql】MySQL集群方案之PXC(percona xtradb cluster)
    【Linux】线上服务器要关注哪些参数
    service自动发现,yaml文件管理内外部端口访问
    service代理模式及负载均衡
    SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
  • 原文地址:https://www.cnblogs.com/KHZ521/p/12573943.html
Copyright © 2020-2023  润新知