一、常用内建属性

常用专有属性

说明

触发方式

__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  程序在执行到后面的代码时会启动调试模式