摘要: 一、面向过程编程VS面向对象编程 面向过程编程: 核心是过程二字,过程是解决问题的步骤,即先干啥再干啥后干啥 基于该思想写程序就是在设计一条条的流水线 优点:复杂的问题流程化、进而简单化 缺点:扩展性差面向对象编程: 核心是对象二字,对象是一个用来盛放数据与功能的容器 基于该思想写程序就是在整合程序 阅读全文
posted @ 2020-08-03 16:27 1024bits 阅读(187) 评论(0) 推荐(0) 编辑
摘要: import re # 1、匹配密码,密码必须是由6位数字与字母组成,并且不能是纯数字也不能是纯字母 # 1.1 知识点:# ?!pattern,表示在没有配到pattern的字符串的前提下,再进行后续的正则表达式匹配,后续匹配仍然从被匹配字符串的头开始 # 1.2 答案: print(re.sea 阅读全文
posted @ 2020-08-03 16:25 1024bits 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 正则表达式: 阅读全文
posted @ 2020-08-03 14:45 1024bits 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 一、shutil模块 高级的 文件、文件夹、压缩包 处理模块 1、shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 2、shutil.copyfile(src, dst) 拷贝文件 3、shutil.copymode(src, dst)  阅读全文
posted @ 2020-08-02 19:59 1024bits 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一、time与datetime模块 time模块 1、时间有三种格式(*****) # 1、时间戳:秒数=>用于时间计算(得到的是浮点型,用于加减乘除运算) start=time.time() print(start,type(start)) #1596367382.30072 <class 'fl 阅读全文
posted @ 2020-07-30 19:05 1024bits 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一、包的使用(****) 1、什么是包? 包是一个含有__init__.py文件的文件夹,本质就是一个模块,是用来被导入的2、为何要有包? 首次导入包这种模块,发生两件事(1)创建模块的名称空间,运行包下的__init__.py的文件,将运行过程中产生的名字都丢入模块的名称空间中(2)在当前位置拿到 阅读全文
posted @ 2020-07-29 14:51 1024bits 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1、文件级别的名称空间都是全局的。 2、import sys处理环境变量 3、start.py 执行文件只有短短几行,不要长篇写代码。 4、 增量备份:第一次备份完整,之后每次都备份改过的,节省空间,还原时要按照备份的不同时间一点点还原回来 完全备份:全拷贝 5、XML跟json差不多,比较笨重麻烦 阅读全文
posted @ 2020-07-29 10:03 1024bits 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 一、软件开发的目录规范 ps:在公司里面一般会直接创建一个项目,start.py会直接放在根目录下,这样用起来更加方便 #执行文件bin >start.py ps:只要短短几行,不要长篇写代码 from core import src src.run() #配置conf >settings impo 阅读全文
posted @ 2020-07-27 20:49 1024bits 阅读(222) 评论(0) 推荐(0) 编辑
摘要: #round 小数部位为5,整数位为偶数,直接取偶数部位;整数位为奇数,则奇数+1 print(round(0.5))#0 print(round(1.5))#2 print(round(2.5))#2 print(round(3.5))#4 print(round(4.5))#4 print(ro 阅读全文
posted @ 2020-07-24 20:58 1024bits 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 一、模块循环导入问题 # run , m1, m2的循环导入 #run.py x=1 # import m1 # print(m1.x) # print(m1.y) # m1.f1() import m2 m2.f2() #m1.py print('正在导入m1') def f1(): from m 阅读全文
posted @ 2020-07-24 17:31 1024bits 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、函数递归调用 1、函数的递归调用:就是在调用一个函数的过程中又直接或间接地调用自己 ps:嵌套调用自己 示例1:直接调用自己 def foo(): print('hello') foo() foo() 示例2:间接调用自己 def bar(): print('from bar') foo() d 阅读全文
posted @ 2020-07-23 15:28 1024bits 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 一、迭代器 1、迭代器 what 器=》工具 迭代:是一个重复的过程,但每次重复都是基于上一次的结果而来的 迭代器:就是一种不依赖于索引的取值工具 ps:迭代器可以装下无穷个值,也可以产生无穷个值 names=["egon",'lqz','yj'] count = 1 while count < l 阅读全文
posted @ 2020-07-22 15:25 1024bits 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1、函数嵌套(定义可以嵌套定,也可以嵌套调) 2、名称空间与作用域(变量名的存放);内置的都属于全局的,因为全局作用域共享 3、全局变量可以在任意位置用 4、(无参 有参)装饰器 py语言的特征,可以让程序简洁功能强大 5、写代码注意:对齐问题;元素与元素之间逗号问题,定义函数语法后冒号;英文翻译问 阅读全文
posted @ 2020-07-22 09:34 1024bits 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一、闭包函数 闭包函数=函数嵌套定义+函数对象+名称空间与作用域闭包函数 闭:指的是该函数是定义在一个函数内部的函数 包:指的是该函数访问了一个来自于外层函数的变量(闭包函数:定义在内部,对外部作用域有引用)为函数体传参:方案一:直接使用参数的形式传递 def wrapper(x): print(x 阅读全文
posted @ 2020-07-21 14:59 1024bits 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一、*与**在形参与实参中的应用 1、可变长参数可变长指的是参数的个数不固定站在实参的角度,实参是用来为形参赋值的,如果实参的个数不固定,那么必须要有对应的形参能够接收溢出实参2、在形参中用*与** 2.1 在形参名前加*:*会把溢出的位置实参存成元组,然后赋值其后的形参名 def func(x,* 阅读全文
posted @ 2020-07-20 15:44 1024bits 阅读(376) 评论(0) 推荐(0) 编辑