摘要:
__mro__,找到当前类寻找属性的顺序 class A(object): pass class B(A): pass class C(object): pass class D(B,C): pass print(D.__mro__) __dict__ 获取当前类的所有属性 class Foo(ob 阅读全文
摘要:
初识面向对象 面向对象的三大特性 : 继承 多态 封装# 继承 : # 单继承 : **** # 父类(超类、基类) # 子类(派生类):派生方法和派生属性 # 子类的对象在调用方法和属性 : 先用自己的 自己没有 才用父类的 # 多继承 :(面试) # 不会超过三个父类,不要超过三层 *** # 阅读全文
摘要:
functools.partial偏函数 之前我们提到了functools.warp能在装饰器中保存原函数的参数等属性 今天我们再来说说functools.partial def func(a1,a2,a3): return a1 + a2 + a3 v1 = func(1,2,3) new_fun 阅读全文
摘要:
python之路——模块和包 阅读目录 一 模块 3.1 import 3.2 from ... import... 3.3 把模块当做脚本执行 3.4 模块搜索路径 3.5 编译python文件 二 包 2.2 import 2.3 from ... import ... 2.4 __init__ 阅读全文
摘要:
什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C 阅读全文
摘要:
异常处理 异常 a #NameError 错误 2+'' #TypeError 错误 1/0 #ZeroDivisionError 错误 iter([]).next() #AttributeError 错误 iter([]).__next__() #StopIteration 异常 import h 阅读全文
摘要:
递归函数 一,初识递归 递归的定义——在一个函数里再调用这个函数本身 #功能解耦:#为什么要有函数:提高代码可读性,避免重复的代码,提高代码的复用性#在函数中能return的不要print递归函数示例 def foo(n): print(n) n += 1 foo(n) foo(1) 递归函数如果不 阅读全文
摘要:
内置函数和匿名函数 内置函数的思维导图https://www.processon.com/view/5bdbfba6e4b0e452133837a3#map 内置函数:python自带的函数 作用域相关 基于字典的形式获取局部变量和全局变量 globals()——获取全局变量的字典 any() 如果 阅读全文
摘要:
列表推导式和生成器表达式 列表推导式#y = [1,2,3,4,5,6,7,8]转化为x = [1,4,9,16,25,36,49,64] x = [] for i in y: x.append(i*i) print(x) x = [i*i for i in y] print(x) #100以内数的 阅读全文
摘要:
迭代器和生成器 ******迭代器****** 迭代:能将某个数据集合内的数据一个接一个的取出来 字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的(iterable)。 比如 from collections import Iterable l = [1,2,3,4] t = 阅读全文
摘要:
闭包和装饰器 一,闭包 内部的函数引用了外部函数的变量 def f1(b): def f2(): print(b) #内部函数引用了外部函数的变量b f2() f1() 我们都知道函数内的变量我们要想在函数外部用,可以直接返回这个变量,那么我们想在函数外部调用函数内部的函数 直接就把这个函数的名字返 阅读全文
摘要:
函数的命名空间 从python解释器开始执行之后,就在内存中开辟了一个空间 每当遇到一个变量的时候,就把变量名和值之间的对应关系记录下来。 但是当遇到函数定义的时候解释器只是象征性的将函数名读入内存,表示知道这个函数的存在了,至于函数内部的变量和逻辑解释器根本不关心。 等执行到函数调用的时候,pyt 阅读全文
摘要:
楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bigger) 之前是不是我告诉你们要把结果return回来你们就照做了?可是你们有没有想过,我们为什么 阅读全文
摘要:
为什么要用函数 如果现在len方法不能用了,我们可以用for循环语句来实现计算长度的功能 l = [1,2,3,4,5,6] count = 0 for i in l: count += 1 print(count) 如果变量的内容变化,就要重新写一遍,而且不能直观的看出他的功能,因此这种做法的可读 阅读全文