• python3 day06 今日大纲


    1. 上次课内容回顾
        模块
        1. import xxxx
        2. from xxxx import xxxx
    
        random
            randint
            uniform
            sample
            choice
            shuffle
    
        Collections
            Counter
            defaultdict
            deque  双向队列
                queue 队列    FIFO
                stack 栈   FILO
    
            Iterable
            Iterator
    
        time
            time.time()  时间戳. 数字 1970-01-01 08:00:00
            time.strftime("%Y-%m-%d %H:%M:%S")  格式化时间
            time.localtime() 结构化时间
    
            n = 1000000
            struct_time = time.localtime(n)
            time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
    
    
            s = "1980-01-02 12:32:56"
            struct_time = time.strptime(s, "%Y-%m-%d %H:%M:%S")        parse
            time.mktime(struct_time)
    
            datetime
    
        pickle
             序列化
             dump 序列化. 写入到文件
             load 反序列化, 从文件读取
             dumps 序列化
             loads 反序列化
    
             pickle.dump(obj, open(path, mode="wb"))
    
        json
             dump 序列化. 写入到文件
             load 反序列化, 从文件读取
             dumps 序列化
             loads 反序列化
    
             json.dump(obj, open(path, mode="w"), ensure_ascii=False)
             # a bytes object......
    
        os
            文件系统操作
            os.mkdir
            os.makedirs  创建文件夹  多级目录
    
            os.rmdir  删除文件目录
            os.removedirs() 删除目录 多级
    
            os.listdir() 列出目录下的文件名字
    
            os.getcwd() 工作空间
            os.chdir() 切换工作空间
    
            os.popen()   执行shell 有返回
            os.system()  直接执行的.
    
            os.path.dirname() 目录名
            os.path.basename() 文件名
            os.path.split() (目录名, 文件名)
    
            os.path.isdir() 是否是文件夹
            os.path.isfile() 是否是文件
            os.path.exists() 是否存在
    
            os.path.getsize()
    
        sys
            argv  接受命令行参数
            path  环境变量. 模块的查找路径
            version 版本
    
        re
            正则
                . 除了换行以外
                w  数字, 字母, 下划线
                d  数字
                s  空白
                ^   开始
                $   结束
                []   字符组
                ()   分组
                |    或者
    
                * 重复0次或多次
                + 1次或多次
                ?  0次或1次
                {n} 出现n次
                {n,} n次或多次
                {n,m}  n次到m次
                    {5, 2} 报错
    
    
                贪婪匹配
                惰性匹配
                    .*?x  离它最近的x
    
            re模块
                (?P<name> 正则)
                re.findall()   列表
                obj = re.finditer()
                    for it in obj:
                        it.group(name)
    
                re.match()  头
                re.search()
    
                re.compile() 加载正则
    
    2. 面向对象
        你就是上帝. 你指挥者全世界
        你自己可以随意的创建对象.
        对象:你执行某些操作的具体的个体
            万事万物皆为对象.
    
        必须使用类来创建对象. 类就是你脑海中的一个车的模样. 一张图纸.
    
        属性: 价格, 品牌, 排量, 颜色
        动作: 跑, 飞, 上西天.
    
        创建对象:
        用类来创建对象. 图纸去创建对象. 创建出来的对象必须要符合类的设计
    
        函数:对功能或者动作的封装
    
        类: 负责描述对象
        对象: 用类创建的
        __init__ 初始化操作
    
        在类中的函数: 方法
        方法第一个参数: self 对象本身
    
        使用对象:
            创建对象: 类名()    ->   __init__()
            使用对象:
                对象.属性
                对象.方法
    
    3. 如何编写类. 类与对象的关系 -> 重点理解
        类是负责描述对象的    ->  类型
            定义属性和方法
        对象是通过类来创建的具体的个体. 每个对象都有自己的独立的名称空间
    
        执行动作的时候最好是使用对象去执行.
    
        self : 当前正在执行方法的对象
    
        如何思考一个类怎么编写
    
        手机
            这一类事物. 拥有哪些相同的属性
            这一类事物. 能执行哪些相同的功能
    
            属性:
                品牌, 价格, 颜色, 内存, 芯片, 像素
            功能:
                打电话, 发信息, 打游戏, 看视频, 拍照
    
    4. 封装
        Account
            card, password, money
    
            card = "哈哈哈"
            password = 123456
    
        属性的封装:把很多个变量封装到一个对象中.
        方法的封装:把很多个方法封装在一个对象中.
    
    5. 继承
        子类可以自动拥有父类中的除了私有内容外的其他所有内容
    
        class A:
            pass
    
        class B(A): # 小括号表示继承关系
            pass
    
        一个子类可以拥有多个父类. 多继承
    
        什么样的关系适合写继承
        如果x是一种y. 此时x应该继承y.
        Cat是一种Animal
    
    6. 多态
        同一个对象多种形态.
        鸭子模型: 只要会嗷嗷叫的就是好鸭子
    
        python到处都是多态性
    
    7. 类的成员
        1. 变量
            1. 实例变量 -> 对象.变量
            2. 类变量   -> 直接写在类中的变量   ->  尽量使用类名去访问  类名.变量
    
        2. 方法
            1. 实例方法  -> 对象.方法   第一个参数就是对象本身. 一般都写成self.
            2. 类方法    -> 类名.方法() 也可以对象.方法()
                1. 第一个参数. 要求传递过来一个类
                2. 类方法上面必须加上一个@classmethod装饰器
            3. 静态方法   -> 类名.方法() 也可以对象.方法()
                1. 类方法上面必须加上一个staticmethod装饰器
    
                相当于在类的名称空间中定义了一个普通的函数
    
        3. 属性(不是咱们认为的那种)
            @property
            把一个方法装饰成一个属性来使用
    
    8. 类与类之间的关系(重点)
        1. 依赖关系
        2. 关联关系, 组合, 聚合
            把另一个类的对象作为当前这个类的一个属性存储
        3. 继承关系, 实现关系
    
    9. 私有内容
        双下划线开头的是私有的内容
    
    10. 笔试题
  • 相关阅读:
    oracle 大文本由clob来存
    merge into 语法缺陷
    基本元素的增加 jquery
    报表 jquery
    购物车的高级实现 逻辑结构清晰
    购物车的实现 js
    定时器的制作与清除
    div的大小设置
    二级菜单联动(自定义框架)
    编写数组删除模板
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10851210.html
Copyright © 2020-2023  润新知