- 博客(20)
- 收藏
- 关注
原创 类的继承
继承Inhertiance人类和猫类都继承自动物类个体继承自父母,继承了父母的一部分特征,但也可以有自己的个性在面向对象的世界中,从父类继承,就可以直接拥有父类的属性和方法这样可以减少代码,多复用。子类也可以定义自己的属性和方法。class Animal: def shout(self): print('animal shout')a = Ani...
2019-03-06 17:43:12
214
原创 面向对象题目一
随机整数生成类,可以指定一批生成的个数,可以指定数值的范围,可以调整每批生成数字的个数使用这个类,随机生成20个数字,两两配对形成二维坐标系的坐标,把这些坐标组织起来,并打印输出一:import randomclass Randnum: def __init__(self, rmin=0, rmax=100, num=10): self.min = rmi...
2019-03-05 17:54:38
574
原创 猴子补丁、属性装饰器
Monkey Patch在运行时,对属性进行动态替换(黑魔法,慎用)# test1.pyclass Person: def __init__(self, chi, eng, his): self.chi = chi self.eng = eng self.his = his def get_score(self):...
2019-03-03 17:36:31
263
原创 偏函数 partial、lru_cache、自编cache函数、命令分发器
把函数部分参数固定下来,相当于为部分的参数添加了一个固定的默认值,形成一个新的函数并返回从partial生成的新函数,是对原函数的封装import functoolsimport inspectdef add(x, y, *args) -> int: print(args) return x + ynewadd = functools.partia...
2019-02-16 20:36:41
139
原创 参数注解
1、对函数的参数进行类型注解2、对函数的返回值进行类型注解3、只对函数参数做一个辅助说明,并不对函数参数进行类型检查4、提供给第三方工具,做代码分析,发现隐藏BUG5、函数注解的信息,保存在__annotations__属性中def add(x: int, y: int, *args, **kwargs) -> int: ret = x + y ret...
2019-02-16 19:35:02
710
原创 装饰器、带参装饰器、functools
一个加法函数,想增加它的功能,能够输出被调用过以及调用的参数信息def add(x, y): return x + y增加信息输出功能:def add(x, y): print("call add, x + y") #日志输出到控制台 return x + y缺点:打印语句的耦合太高加法函数属于业务功能,而输出信息属于非业务功能代码,不该放在业务...
2019-02-13 21:03:22
151
原创 内建函数filter,map,柯里化
filter(function, iterable) --> filter object过滤可迭代对象的元素,返回一个迭代器function一个具有一个参数的函数,返回boolmap(func, *iterables) --> map object对多个可迭代对象的元素按照指定的函数进行映射,返回一个迭代器 print(list(filter(lambda x:...
2019-02-13 16:46:25
96
原创 编写sort函数
初版:lst = [1, 2, 3, 4, 5]def sort(iterable, reverse=False): def comp(a, b): flag = a > b if reverse else a < b return flag ret = [] for x in iterable: for...
2019-02-13 13:32:48
1066
原创 列表、集合、字典解析式、生成器表达式
newlist = []for i in range(10): newlist.append((i + 1) ** 2)print(newlist)newlist1 = [(i+1)**2 for i in range(10)]print(newlist1)语法 [返回值 for 元素 in 可迭代对象 if 条件]if条件语句可选返回一个新的列表 作用:...
2019-01-20 21:29:32
293
原创 lambda
lambda 参数列表:表达式lambda x:x**2(lambda x : x ** 2)(4) #调用 参数列表不需要小括号冒号是用来分割参数列表和表达式的不需要return,表达式的值,就是匿名函数的返回值lambda表达式只能写在一行上面,称为单行函数 用途:在高阶函数传参时,使用lambda表达式,往往能简化代码print(1, (lam...
2019-01-08 01:00:28
179
原创 递归函数习题
# 阶乘def fn(n): if n == 1: return 1 else: return n * fn(n-1)print(fn(5))def factorila(a, mul=1): mul *= a if a == 1: return mul return factorila(a...
2019-01-03 22:40:11
492
原创 函数基础
函数的分类:内建函数,max(),reversed()等库函数:math.ceil()等 函数的作用:封装,复用,简洁,美观易懂 函数定义,调用:定义需要在调用之前,也就是说调用时,已经被定义过了否则,抛NameError异常 函数是可调用对象,callable() True,False 函数的参数:参数调用时,传入的参数要和定义的个数想匹配(可变参...
2018-12-22 21:43:03
138
原创 面向对象
类:class类是抽象的概念,是万事万物的抽象,是一类事物的共同特性的集合用计算机语言来描述类,就是属性和方法的集合对象instance、object对象是类的具象,是一个实体对于我们每个人这个个体,都是抽象概念人类的不同的实体举例:你吃鱼你,就是对象,鱼也是对象,吃就是动作你是具体的人,是具体的对象,你属于人类,人类是个抽象的概念,是无数个具体的个体的抽...
2018-12-18 01:31:07
95
原创 项目一 未完成
如何使用defaultdictdefaultdict接受一个工厂函数作为参数,如下来构造:dict = defaultdict( factory_function)这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0,如下举例:...
2018-12-14 23:39:17
361
原创 python 正则
#1、BRE基本正则表达式,grep、sed、vi等软件支持。vim有扩展。2、ERE扩展正则表达式,egrep(grep -E)、sed -r等。3、PCRE几乎所有高级语言都是PCRE的方言或变种。Python从1.6使用SRE正则表达式引擎,可以认为是PCRE的子集,见模块re。 元字符:. 匹配除换行符外任意一个字符impor...
2018-12-01 21:55:21
214
原创 mysql
安装方式:1、源代码:编译安装2、二进制格式:展开至特定路径,并经简单配置后使用3、程序包管理器管理的程序包 二进制安装:内连接:左外连接:left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。左(外)连接,左表...
2018-11-27 17:48:49
132
原创 LVS-DR模型
实验规划:client 桥接 eth0 192.168.1.123/24 网关:192.168.1.200 router 桥接 eth1 192.168.1.200/24 仅主机 eth0 192.168.8.200/24 eth0:1 10.0...
2018-11-08 19:16:41
214
原创 Python基础入门及安装和基础语法
yum install git -yyum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline readline-devel readline-staticzlib-devel bzip2-develuseradd python[root@PanQi 15:31:10 ~]#su - pytho...
2018-07-08 18:02:12
237
2
原创 linux基础
ABI:描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行应用程序与操作系统的连接接口不同的操作系统 接口是不一样的比如你windows里的软件拷到手机上就不能运行苹果手机上的软件放到安桌上也不能运行API:定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译以后开发 比如要开发软件 从头开始做 会浪...
2018-06-21 21:55:39
356
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人