12 2020 档案

摘要:#一 反射 python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制。 在pytho 阅读全文
posted @ 2020-12-28 16:01 叶灵溪 阅读(60) 评论(0) 推荐(0) 编辑
摘要:#一 绑定方法与非绑定方法 类中定义的函数分为两大类:绑定方法和非绑定方法 ​ 其中绑定方法又分为绑定到对象的对象方法和绑定到类的类方法。 ​ 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定到了类。 我们在之前的章节中已经介绍过对象方法了,本节 阅读全文
posted @ 2020-12-28 15:57 叶灵溪 阅读(87) 评论(0) 推荐(0) 编辑
摘要:#一多态与多态性 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪 class Animal: #同一类事物:动物 def talk(self): pass class Cat(Animal): #动物的形态之一:猫 def talk(self): print('喵喵喵') class 阅读全文
posted @ 2020-12-28 15:56 叶灵溪 阅读(85) 评论(0) 推荐(0) 编辑
摘要:#一 继承介绍 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类 class ParentClass1: #定义父类 pass class ParentClass2: #定义父类 pass class SubClass1( 阅读全文
posted @ 2020-12-28 15:53 叶灵溪 阅读(98) 评论(0) 推荐(0) 编辑
摘要:#一 引入 ​ 面向对象编程有三大特性:封装、继承、多态,其中最重要的一个特性就是封装。封装指的就是把数据与功能都整合到一起,听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。除此之外,针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏与开放接口 阅读全文
posted @ 2020-12-28 15:37 叶灵溪 阅读(429) 评论(0) 推荐(0) 编辑
摘要:一 对象的概念 对象: 所有的程序都是由”数据”与“功能“组成,因而编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作 对象就是一个容器,我们可以把我们想放在一起的数据和功能整合到一起放进去,方便我们调用使用 在了解了对象的基本概念之后,理解面向对象的编程方式就相对简单很多 阅读全文
posted @ 2020-12-28 15:32 叶灵溪 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一、什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 二:常用匹配 阅读全文
posted @ 2020-12-17 09:46 叶灵溪 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、hashlib模块 1、什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值 2、hash值的特点是: (1) 只要传入的内 阅读全文
posted @ 2020-12-17 09:33 叶灵溪 阅读(86) 评论(0) 推荐(0) 编辑
摘要:一、shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f=shelve.open(r'sheve.txt') # f['stu1_info']={'na 阅读全文
posted @ 2020-12-17 09:24 叶灵溪 阅读(86) 评论(0) 推荐(0) 编辑
摘要:一、json模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值。 impo 阅读全文
posted @ 2020-12-17 09:18 叶灵溪 阅读(89) 评论(0) 推荐(0) 编辑
摘要:一、shutil 1、shutil.copyfileobj(fsrc, fdst[, length]),将文件内容拷贝到另一个文件中 -shutil.copyfileobj(open('old.xml', 'r'), open('new.xml', 'w')) 2、shutil.copyfile(s 阅读全文
posted @ 2020-12-17 09:04 叶灵溪 阅读(101) 评论(0) 推荐(0) 编辑
摘要:一、random模块 1、random 随机生成[0,1)的小数: -res=random.random() -print(res) -0.9046791911295252 2、randint 随机生成一个a到b之间的整数,前闭后闭 [a,b] -res=random.randint(1,10) - 阅读全文
posted @ 2020-12-17 08:57 叶灵溪 阅读(124) 评论(0) 推荐(0) 编辑
摘要:##time与datetime模块 一、time 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符 阅读全文
posted @ 2020-12-17 08:48 叶灵溪 阅读(143) 评论(0) 推荐(0) 编辑
摘要:引入 1.eval( ) 函数 在 内置函数 这一张中我们介绍过了 eval( ) 函数, 他可以将字符串转成Python对象 不过局限性比较大, 只能运用于普通的数据类型, 遇到特殊的数据类型就不管用 了 eval( ) 的处理重点 : 执行一个字符串表达式, 并返回表达式的值 2.eval 函数 阅读全文
posted @ 2020-12-16 21:35 叶灵溪 阅读(230) 评论(0) 推荐(0) 编辑
摘要:四、日志处理流程(第二种日志使用方式) 上面简单配置的方法例子中我们了解到了logging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical()(分别用以记录不同级别的日志信息),logging.bas 阅读全文
posted @ 2020-12-16 20:53 叶灵溪 阅读(107) 评论(0) 推荐(0) 编辑
摘要:一、日志关概念 日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)。 日志的作用 通过log的分析,可 阅读全文
posted @ 2020-12-16 20:47 叶灵溪 阅读(146) 评论(0) 推荐(0) 编辑
摘要:一、软件开发的目录规范 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下 Foo/ |-- core/ | |-- core.py | |-- api/ | |-- 阅读全文
posted @ 2020-12-11 15:09 叶灵溪 阅读(111) 评论(0) 推荐(0) 编辑
摘要:一 包介绍 随着模块数目的增多,把所有模块不加区分地放到一起也是极不合理的,于是Python为我们提供了一种把模块组织到一起的方法,即创建一个包。包就是一个含有__init__.py文件的文件夹,文件夹内可以组织子模块或子包,例如 pool/ #顶级包 ├── __init__.py ├── fut 阅读全文
posted @ 2020-12-11 15:02 叶灵溪 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一 模块介绍 在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。如果把开发程序比喻成制造一台电脑,编写模块就像是在制造电脑的零部件,准备好零部件后,剩下的工作就是按照逻辑把它们组装到一起。 将程序模块化会使得程序的组织结构清晰,维 阅读全文
posted @ 2020-12-11 14:54 叶灵溪 阅读(96) 评论(0) 推荐(0) 编辑
摘要:一、函数递归 1、函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身 例如: 在调用f1的过程中,又调用f1,这就是直接调用函数f1本身 def f1(): print( 阅读全文
posted @ 2020-12-10 16:43 叶灵溪 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、生成器 1、生成器: 生成器就是一种自定义的迭代器 2、为何要用生成器: 为了节省内存 3、如何用生成器: 函数体内但凡出现yield关键字,调用函数将不会触发函数体代码的运行,而是会返回一个生成器对象,生成器本质就是一个迭代器 4、yield与return: 相同点:在返回值角度用法一样 不同 阅读全文
posted @ 2020-12-10 16:07 叶灵溪 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一、迭代器 1、什么是迭代器: 迭代器指的就是迭代取值的工具 迭代是一个重复的过程,但不是单纯的重复,每次重复都是基于上一次的结果的而进行的 2、迭代器作用: 为了找到一种通用的迭代取值方案 为了节省内存 3、如何用迭代器 内置有__iter__方法的类型都称之为可迭代的对象 但凡调用了__iter 阅读全文
posted @ 2020-12-10 15:56 叶灵溪 阅读(429) 评论(0) 推荐(0) 编辑
摘要:一、匿名函数 什么是匿名函数:就是没有名字的函数 应用场景:临时用一次,通常用于与其他函数配合使用 f=lambda x,y:x+y #没有名字,可用变量存取调用 print(f) res=f(1,2) print(res) 这样子赋值调用太麻烦了,我们通常这样用: # 调用方式一: res=(la 阅读全文
posted @ 2020-12-10 15:22 叶灵溪 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、wraps 一般的装饰器公式:只对原函数加功能,但名字等属性为函数warpper 无参装饰器: def index(func): def warpper(*args,**kwargs): res=func(*args,**kwargs) return res return warpper @in 阅读全文
posted @ 2020-12-07 18:19 叶灵溪 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一 装饰器介绍 1.1 为何要用装饰器 软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,意味着对象一旦设计完成,就可以独立完成其工作,而不要对其进行修改。 软件包含的所有功能的源代码以及调用 阅读全文
posted @ 2020-12-01 12:06 叶灵溪 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一 函数对象 函数对象指的是函数可以被当做’数据’来处理,具体可以分为四个方面的使用 1.1 函数可以被引用 >>> def add(x,y): ... return x+y ... >>> func=add >>> func(1,2) 3 1.2 函数可以作为容器类型的元素 >>> dic={'a 阅读全文
posted @ 2020-12-01 12:00 叶灵溪 阅读(73) 评论(0) 推荐(0) 编辑
摘要:一 名称空间 名称空间即存放名字与对象映射/绑定关系的地方。 对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,del x表示清除该绑定关系。 ​在程序执行期间最多会存在三种名称空间 1.1 内建名称空间 伴随python解释器的启动/关闭而产生/回收,因 阅读全文
posted @ 2020-12-01 11:56 叶灵溪 阅读(74) 评论(0) 推荐(0) 编辑
摘要:一 形参与实参介绍 函数的参数分为形式参数和实际参数,简称形参和实参: 形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。 实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合: #1:实参是常量 res=my_min(1,2) #2:实参是变 阅读全文
posted @ 2020-12-01 10:40 叶灵溪 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、定义函数 函数的使用必须遵循’先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于在引用一个不存在的’变量名’。 定义函数的语法: def 函数名(参数1,参数2, 阅读全文
posted @ 2020-12-01 10:33 叶灵溪 阅读(125) 评论(0) 推荐(0) 编辑

aplayer
##============================ /* 看板娘 */ =======================
点击右上角即可分享
微信分享提示