zoukankan      html  css  js  c++  java
  • Python学习笔记十:json序列化,软件结构目录规范,ATM作业讲解,import本质论

    json序列化

    将系统的某个状态保存为字符串(挂起),序列化。

    import json

    json.dumps():序列化

    json.loads():反序列化

    简单类型数据处理

    import pickle

    pickle.dumps()

    pickle.loads()

    可以处理所有类型,二进制数据,需要rb,wb方式读取写入文件

    pickle.dump(object,file)

    file.close()

    pickle.load(file)

    file.close()

    只能dump一次,如果有多个状态,要存在多个文件中

    软件目录结构规范

    软件目录,首字母大写

    执行文件包、主包(软件名命名)、测试包、文档目录、配置文件包,安装文件,依赖关系文件,README

    readme内容要求

    相对路径与绝对路径

    通过设置路径调用主包中的main.py

    ATM作业

    从bin入口看代码,找到主类,查看类的方法,

    注释写在方法声明的正下方,多行注释

    使用装饰器验证登录状态,而不是让用户登录

    写日志封装成函数

    封装用户登录,解耦

    根据数据库不同的登录验证方式,实现同一种登录方式

    类似janggo的数据库连接配置,支持多数据库

    一个用户一个json文件,满足多用户同时登录需求,防止写脏数据

    使用字典取消if判断

    Python模块详解

    定义

    模块本质就是py结尾的python文件,用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能)

    包是一个目录,带有一个__init__.py文件,用来从逻辑上组织模块,导入包实际是解释执行__init__.py,在__init__.py中import包中的模块(需要from . import module),在其他代码文件中import package,就可以直接调用模块的相关功能了。

    使用方法

    import 模块1,模块2…

    模块.属性

    模块.方法

    from 模块 import *,从模块导入所有代码

    from 模块 import 特定方法 as 别名

    from 模块 import m1,m2,m3…

    import本质

    import module:定义一个变量module,将导入的模块(py文件)解释(运行)了一遍,把结果传给(赋值)module

    form module import m1:

    路径搜索和搜索路径

    当前路径搜索,或者sys.path中的路径

    将目录加入sys.path列表中,就可以进行搜索

    os.path.abspath(__file__):获取当前文件的路径,__file__当前文件

    os.path.dirname():获取目录名

    导入优化

    sys.path.insert(path):将路径插入第一个位置

    如果在代码中多处调用模块中的方法,可以采用直接导入方法的方式优化,防止每次都去导入路径查找

  • 相关阅读:
    jquery.cookie.js插件一个小bug
    MVC3的学习笔记
    枚举和位标志学习
    局域网中访问IIS站点
    文件内容比较
    未能加载文件或程序集“xxx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
    MSSQLSERVER服务不能启动
    初步学习lock的见解
    “base64 字符数组的无效长度”错误解决方案
    获取服务IP
  • 原文地址:https://www.cnblogs.com/koctr/p/7473914.html
Copyright © 2011-2022 走看看