07 2019 档案
摘要:反射 reflect 含义: 自省,反射是指一个对象应该具备可以检测修改,增加自身属性的能力。 方式: 通过字符串操作属性 涉及的四个函数(hasattr,getattr,setattr,delattr)只是普通的内置函数,与print等没有区别。 1 hasattr getattr setattr
阅读全文
摘要:多态: 一种食物具有多种不同的形态。 例如:水:固态,气态,液态 官方解释: 多个不同对象可以响应同一个方法,产生不同的结果 首先强调多态不是一种特殊的语法,而是一种状态,特性(既多个不同的对象可以响应同一个方法,产生不同的结果) 既多个对象有相同的使用方法。 好处: 对于使用者而言,大大的降低了使
阅读全文
摘要:封装: 将丑陋的复杂的隐私的细节隐藏到内部,对外提供简单的接口。对外隐藏实现的细节,并提供简单的接口。 为什么使用封装: 1、保证重要数据的安全性,即不希望被修改的数据。 2、对外隐藏内部细节,隔离复杂度 什么情况使用封装? 1、当一些数据不希望被外部修改的时候。 2、当一些函数不希望被外部调用的时
阅读全文
摘要:什么是继承? 继承是一种关系。 在生活中可以看成:麦兜,佩奇,猪刚鬣 都是猪 在程序中,继承是描述的类与类之间的关系 例如: a继承了b,那么a就可以直接使用b已经存在的方法和属性 那么a就叫做子类b叫做父类或基类 为什么使用继承? 继承的一方可以直接使用被继承一方已经有的东西, 其目的是为了重用已
阅读全文
摘要:什么是面向对象? 面向对象是一种编程思想。是前辈们总结出的经验,指导程序员如何编写出更好的程序 , 核心是对象,程序就是一系列对象的集合, 程序员负责调度控制这些对象来交互着完成任务 面向对象的三大优点: 1.扩展性 2.灵活性 3.重用性 缺点: 1.程序的复杂度提高了 2.无法准确预知结果 面向
阅读全文
摘要:包: 什么是包? 是一系列模块文件的结合体,表现形式就是一个文件夹,文件夹内部通常会有一个__init__.py文件,包的本质还是一个模块。 为什么要使用包: 从包的设计者看: 1.当模块的功能特别多的情况下,应该分文件管理 2、为了避免后期模块改名的问题,每个模块之间的导入方式可以使用相对导入。(
阅读全文
摘要:collection模块 1.具名元组: 用法:namedtuple('标题','容器类型')#第二个参数除了是可迭代对象之外还可以是字符串,但是字符串之间要用空格隔开。 card = collections.namedtuple('扑克牌','color num') #card = collect
阅读全文
摘要:正则表达式 正则表达式在线测试:http://tool.chinaz.com/regex/ 什么是正则表达式? 通俗理解: 匹配字符串内容的一种规则。 官方定义: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”
阅读全文
摘要:模块: 就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带的) 2、第三方的(别人写的) 3、自定义的(自己手写的) 模块的四种表现形式: 1.自己用Python编写的py文件也可以成为是一个模块 2.已被编译为共享库或DLL的C或C++扩展(了解)3.把一系列模块组织到一
阅读全文
摘要:迭代器: 作用:可以不依赖索引进行取值。 可迭代对象: 必须内置有__iter__方法 __iter__读法:双下+方法名 需要迭代取值的数据类型: 字符串、列表、元祖、字典、集合(均为可迭代对象) 文件对象:(迭代器对象)执行内置__iter__之后还是它本身。 f1 = open('xxx.tx
阅读全文
摘要:递归函数: 递归函数包括两个过程: 回溯: 就是一次次的重复的过程,但是在每次重复的过程中要让你的复杂度随着重复的次数一次次降低,还需要最终有一个结束的条件。 递推: 一次次回溯之后往回推导的过程。 递归函数: age(5) = age(4) + 2age(4) = age(3) + 2age(3)
阅读全文
摘要:函数是第一类对象: 函数名指向的值可以被当成参数传递 1.函数名可以被传递 1 def func(): 2 print('from func') 3 print(func) 4 print(id(func)) 5 f = func 6 func() 7 print(f) 8 f() # 其实指向的也
阅读全文
摘要:# 模拟用户登录 有三次机会 超过了 提示用户是否继续 from_db_username = 'yang' from_db_password = 121 n = 0 while True: if n == 3: cmd = input('是否继续输入Y/N:') if cmd == 'Y': n =
阅读全文