摘要: # hashlib模块# 1、什么叫hash:hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值# 2、hash值的特点是:#2.1 只要传入的内容一样,得到的hash值必然一样 >要用明文传输密码文件完整性校验#2.2 不能由hash值返解成内容 》把密码做成hash值,不应该在 阅读全文
posted @ 2018-04-10 14:49 yangweiwe 阅读(226) 评论(0) 推荐(0)
摘要: shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象, 可读可写;key必须为字符串,而值可以是python所支持的数据类型import shelveinfo1={'age':18,'height':180,'weight':80}info2={'age':73,'hei 阅读全文
posted @ 2018-04-09 19:37 yangweiwe 阅读(156) 评论(0) 推荐(0)
摘要: 包、常用模块一、包1、包就是一个包含有__init__.py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来,包的执行:1 产生一个包的名称空间2 执行包下的__init__.py文件,将产生的名字存放于包的名称空间中3 在当前执行文件中拿到一个名字aaa,该名字指向包的名称空间... 阅读全文
posted @ 2018-04-08 15:29 yangweiwe 阅读(123) 评论(0) 推荐(0)
摘要: logging 模块 一、包括四种级别: logging.debug() #10 最低级别 调试信息。 logging.info()#20 运行信息 logging.warnig()#30 警告 logging.error()#40 出错了 logging.critical()#50 崩溃了 log 阅读全文
posted @ 2018-04-04 21:22 yangweiwe 阅读(125) 评论(0) 推荐(0)
摘要: 软件开发规范 一、设计好目录结构 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,从而非常快速的了解这个项目。 可维护性高: 定义好组织规则后,维护者就能很明确地知道, 新增的哪个文件和代码应该放在什么目录之下。 这个好处是,随着时间的推移,代码 / 配置的规模增加, 项目结构不会混乱,仍然能够组织良好。 二、目录组织方式 关于如何组织一个... 阅读全文
posted @ 2018-04-04 19:54 yangweiwe 阅读(160) 评论(0) 推荐(0)
摘要: 1、模块的定义:模块就是一系列功能的集合体,在python中,一个py文件就是一个模块,比如 module.py 其中module就是模块名。在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别: 1 使用python编写的.py文件 2 已被编译为共享库或DLL的C 阅读全文
posted @ 2018-04-03 15:06 yangweiwe 阅读(111) 评论(0) 推荐(0)
摘要: 一、列表生成式原方法:l=[]for i in range(100): l.append('egg%s' %i)print(l)1、列表生成式:把所有数据都读入到内存,如果数据量较大的情况下,会“撑爆”内存。l=['egg%s' %i for i in range(100)]l=['egg%s' % 阅读全文
posted @ 2018-04-03 15:05 yangweiwe 阅读(150) 评论(0) 推荐(0)
摘要: 一、三元表达式: 仅应用于条件成立返回一个值,条件不成立返回一个值。 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一 阅读全文
posted @ 2018-04-02 16:36 yangweiwe 阅读(110) 评论(0) 推荐(0)
摘要: 一、迭代器了解迭代器之前要先了解一个概念:什么是可迭代对象? 在python中但凡有__iter__方法的对象都是可迭代对象在我们之前学习的数据类型中除了int类型其余的都是可迭代对象!可迭代的对象包括:str,list,tuple,dict,set,file1、获取可迭代对象的方式:无须获取,py 阅读全文
posted @ 2018-03-30 22:01 yangweiwe 阅读(127) 评论(0) 推荐(0)
摘要: 一、装饰器 1 开放封闭原则 软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的 也就是说我们必须找到一种解决方案:能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能 总结,原则如下: 1、不修改源代码 2、不修改调用方式 目的: 在遵循1和2原则的基础 阅读全文
posted @ 2018-03-29 15:26 yangweiwe 阅读(127) 评论(0) 推荐(0)