zoukankan      html  css  js  c++  java
  • python--内建属性、集合、常见模块、调试

    一、常用内建属性

    常用专有属性说明触发方式
    __init__ 构造初始化函数 创建实例后,赋值时使用,在__new__
    __new__ 生成实例所需属性 创建实例时
    __class__ 实例所在的类 实例.__class__
    __str__ 实例字符串表示,可读性 print(类实例),如没实现,使用repr结果
    __repr__ 实例字符串表示,准确性 类实例 回车 或者 print(repr(类实例))
    __del__ 析构 del删除实例
    __dict__ 实例自定义属性 vars(实例.__dict__)
    __doc__ 类文档,子类不继承 help(类或实例)
    __getattribute__ 属性访问拦截器 访问实例属性时
    __bases__ 类的所有父类构成元素 类名.__bases__

      1.属性拦截器的使用

    class Itcast(object):
        def __init__(self,subject1):
            self.subject1 = subject1
            self.subject2 = 'cpp'
    
        #属性访问时拦截器,打log
        def __getattribute__(self,obj):
            if obj == 'subject1':
                print('log subject1')
                return 'redirect python'
            else:   #测试时注释掉这2行,将找不到subject2
                return object.__getattribute__(self,obj)
    
        def show(self):
            print('this is Itcast')
    
    s = Itcast("python")
    print(s.subject1)
    print(s.subject2)
    
    #结果
    log subject1
    redirect python
    cpp
    属性拦截器的使用

    二、集合

      1.集合求交集:a&b

      2.集合求并集:a|b

      3.集合求差集:a-b

      4.集合求对称差集:a^b

    三、常用模块

      1.常用标准库

    标准库说明
    builtins 内建函数默认加载
    os 操作系统接口
    sys Python自身的运行环境
    functools 常用的工具
    json 编码和解码 JSON 对象
    logging 记录日志,调试
    multiprocessing 多进程
    threading 多线程
    copy 拷贝
    time 时间
    datetime 日期和时间
    calendar 日历
    hashlib 加密算法
    random 生成随机数
    re 字符串正则匹配
    socket 标准的 BSD Sockets API
    shutil 文件和目录管理
    glob 基于文件通配符搜索

    四、调试

    命令简写命令作用
    break b 设置断点
    continue c 继续执行程序
    list l 查看当前行的代码段
    step s 进入函数
    return r 执行代码直到从当前函数返回
    quit q 中止并退出
    next n 执行下一行
    print p 打印变量的值
    help h 帮助
    args a 查看传入参数
      回车 重复上一条命令
    break b 显示所有断点
    break lineno b lineno 在指定行设置断点
    break file:lineno b file:lineno 在指定文件的行设置断点
    clear num   删除指定断点
    bt   查看函数调用栈帧

      1.第一种方式:在运行程序的时候输入python3 -m pdb test1.py,按下l(list)查看程序当前运行到第几行,按下n(next)可以让程序运行下一步,按下c(continue)可以让程序正常执行,b(break) 行号设置断点

      2.第二种方式:import pdb   pdb.run('函数的调用test(11, 22)'),按s回车执行调用

      3.第三种方式:程序中埋点,import pdb pdb.set_trace  程序在执行到后面的代码时会启动调试模式

  • 相关阅读:
    金额转换问题
    进制转换(十进制->二进制、八进制、十六进制)
    Linux下Tomcat的安装
    Linux下安装jdk配置java环境变量
    Linux下安装Mysql
    在Linux下安装Redis
    Redis常用操作
    阿里云服务器部署tomcat服务器无法访问
    mysql 创建数据库 编码
    docker 安装oracle
  • 原文地址:https://www.cnblogs.com/peilanluo/p/8324559.html
Copyright © 2011-2022 走看看