- 博客(88)
- 收藏
- 关注
转载 封装
---恢复内容开始---当我们设计一些的功能的时候,我们都希望隐藏一些代码:比如密码相关的这时我们就需要对代码进行封装把属性和方法都藏起来,不让你看见。臂如:class Person: def __init__(self,name,word): self.name = name self.word = wordbig_...
2019-09-29 22:19:00
157
转载 多态
多态指的是一类事物有多种形态import abcclass Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): passclass People(Animal): #动物的形态之一:人 def talk(self):...
2019-09-28 22:26:00
150
转载 接口
当我们定义了多个类并且想使用其中相同的功能,我们可以使用接口来帮助我们简化代码量。例如:我们做一个支付的接口的时候,我们定义了三个类。分别是wechat,支付宝和applepay去支付,我们想要交付到用户手上使用时直接通过这个用户选择接口来实现。from abc import abstractclassmethod,ABCMetaclass Payment(metacla...
2019-09-25 22:13:00
170
转载 python2和python3多继承中的优先级
在多继承中,当一个类继承了多个类的时候,这个时候就需要了解它的调用优先级。子类会优先调用最近的一个父类class A: def fuc(self): print('A')class B(A): def fuc(self): print('B')class C(A): def fuc(self): ...
2019-09-24 21:28:00
860
转载 继承
派生在继承过程中,父类中没有的属性在子类中出现,就叫做派生属性父类中没有的方法,子类中出现,叫做派生方法。只要在子类的对象调用方法,子类中有的名字 一定调用子类中的,子类中没有就往父类中找,还没有去object中去找。还没有就报错。若是子类和父类都有相同的名字的方法,一定是调用子类里面的。若是想要父类的,就需要单独调用父类的方法。如果既想在调用子类是又需要调用父类...
2019-09-23 22:13:00
105
转载 继承
继承继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类。class ParentClass1: #定义父类 passclass ParentClass2: #定义父类 passclass SubClass1(ParentClass1): #单继承,基类是ParentC...
2019-09-22 21:37:00
90
转载 跟新恢复(回家了一趟)
绑定#认识绑定方法def fuc():passprint(fuc)class Foo: def fuc(self): print('func')f1 = Foo()print(f1.fuc)print(Foo.fuc)我们可以通过他们的内存地址可以发现,对象的绑定在类上的。就是说对象的方法是依托于类的,就相当于对...
2019-09-22 20:58:00
106
转载 类的命名空间
属性类里面可以定义两种属性:静态属性和动态属性。通过实例来看下:class Course: language = '中文'#静态属性 def __init__(self,teach,course_name,period,price): self.teach = teach self.course_name = ...
2019-09-17 23:34:00
468
转载 整理了下上节的代码
class pelpeo: commom = '大象'#创造了一个只要是这个类就一定有的属性 #名为类属性——又称静态属性。 def __init__(self,*args):#初始化对象,self是一个对象,是一个必须穿的参数 #self是一个可以存储很多属性的大字典 self.nam...
2019-09-15 22:17:00
145
转载 面向对象
引入class pelpeo: def __init__(self,*args): self.name = args[0] def go(self): print('{}到处走走'.format(self.name))dog = pelpeo('套你大象')print(dog.__dict__)#查看pelpeo...
2019-09-15 22:00:00
413
转载 面向对象
面向过程 VS 面向对象面向过程面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。应用场景:一旦完成基本很少改变的场景,著名的例子有L...
2019-09-14 21:20:00
83
转载 异常处理
在所有语言中,我们在学习和工作中都不可避免地会遇到错误。程序异常或者错误主要可以分为两种:语法错误和逻辑错误。特点:程序一旦发生异常,就从错误的位置停了下来。不在继续执行后面的内容。但是有时我们希望可以举行执行下面的语句或者对我发出提醒。这是我们就可以使用try:except来实现:try: tet = int(input("请输入一个数字》》"))...
2019-09-12 22:48:00
108
转载 包进阶
在绝对路径和相对路径的注意事项:在导入包的时候,应注意绝对路径和相对路径的区别。使用相对路径的时候,可以不用去管包所在的路径。因为他是根据自己算在文件的路径往上找的。并且,如果使用了相对路径就不能在包里面的模块中进而引用其他模块。而绝对路径就可以在包里面的模块中引用其他模块。续:转载于:https://www.cnblogs.com/zly9527/p/1150953...
2019-09-11 23:36:00
140
转载 绝对路径和相对路径
我们的最顶级包glance是写给别人用的,然后在glance包内部也会有彼此之间互相导入的需求,这时候就有绝对导入和相对导入两种方式:绝对导入:以glance作为起始。优点:比较直观相对导入:用.或者..的方式最为起始(只能在一个包中使用,不能用于不同目录内)优点:可以随意移动包,只要能找到包的位置,就可以使用包里面的模块。缺点:不能在包里面使用模块了。比如在poli...
2019-09-09 22:43:00
159
转载 包
包我们知道python中常用的模块比如re,sys,os等等之类,我们只需要在用的时候去调用就行。并且知道那些模块本质上就是.py文件。在python中,我们很多时候需要的功能python自带的模块已经不能满足,但又时常需要。这是我们会将我们事先写好的都东西进行打包。方便调用。包是一种通过使用‘.模块名’来组织python模块名称空间的方式。1. 无论是import形式还...
2019-09-08 20:34:00
97
转载 模块的导入
模块一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块当我们退出python解释器然后重新进入,我们...
2019-09-07 18:16:00
141
转载 序列化模块(sys)
序列化模块序列化——转向一个字符串数据类型序列——字符串应用: 把数据类型转换成字符串: 写文件 网络上传输的时候从数据类型到字符串的过程就叫做序列化。从字符串再转换回数据类型的过程就叫做反序列化。json 模块dumps和loadsimport jsondic = {'k1':'v1','k2':'v2','k3':'v3'}str...
2019-09-05 15:01:00
96
转载 os模块
常用的操作(转载Eva_J)os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirnameos.rmdir('d...
2019-09-04 18:16:00
94
转载 随机数模块(random)
这个是python中常用模块最简单的直接上图:转载于:https://www.cnblogs.com/zly9527/p/11458662.html
2019-09-04 13:44:00
180
转载 时间模块(time)
python中时间有三种表示方法时间戳(timestamp)给计算机看的例如:时间模块中time.time()就可以查询从19701月1号林晨到现在的时间,用秒表示的。格式化的时间字符串(Format string)方便人看import timeprint(time.strftime('%Y-%m-%d %H-%M-%S'))print(tim...
2019-09-04 13:20:00
158
转载 collection模块 1
namedtuple 可命名元祖from collections import namedtuplepoint = namedtuple('point',['x','y'])P = point(1,2)print(P.x)print(P.y)print(P)View Codequeue 队列import queuea = q...
2019-09-03 22:55:00
93
转载 collection模块
collection模块是对Python的通用内置容器:字典、列表、元组和集合的扩展,它包含一些专业的容器数据类型:Counter(计数器):dict子类,用于计算可哈希性对象的个数。OrderedDict(有序字典):dict 子类,记录着数据成员添加的顺序。defaultdict(默认字典):dict 子类,调用一个工厂函数来为dict的values值缺失提供一个...
2019-09-01 23:35:00
261
转载 re模块
Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。 1 # encoding: UTF-8 2 import re 3 4 # 将正则表达式编译成Pattern对象 5...
2019-08-31 23:34:00
101
转载 正则
正则表达式正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同。流程:正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字...
2019-08-30 20:38:00
86
转载 复习
递归超过最大递归深读限制会报错。只要写递归函数,必须要有结束条件。返回值不要只看到return就认为已经返回了,要看返回操作是在递归第几层的时候发生的。然后返回给了谁。如果不是返回最外层的函数,调用者接收不到。需要在分析,看如何把结果返回回来。作业斐波那契,问第n个斐波那契数是多少?def fib(n): if n ==1 or...
2019-08-29 22:59:00
97
转载 算法(计算的方法)
二分查找算法必须处理有序列表。例如查找下面列表的中23的索引。[1,2,3,4,5,6,7,8,9,23,34,45,56,87,94]代码实现:l = [1,2,3,4,5,6,7,8,9,23,34,45,56,87,94]def find(l,aim,start= 0,end = len(l)): mid_index = (end - st...
2019-08-28 23:09:00
573
转载 递归函数
概念在函数中调用自身函数。例如一个简单的递归:def func(): print('套你大象') func()func()View Code 最大递归深度默认998或997.如果递归次数太多,就不适合使用递归来解决问题缺点:占内存优点:会让代码变得简单年龄递归问题:a比b大2岁,b比c大两岁,c比d大两岁,d为...
2019-08-28 22:17:00
202
转载 内置函数
内置函数def func(a): return a*awo = lambda a:a*aprint(wo(10))print(func(6))View Code注意: 当多个参数是,用逗号分割。 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 返回值和正常函数一样,可以是任意函数类型。...
2019-08-27 23:36:00
93
转载 哈哈,拖了一天
今天去看了智博会,额!!几乎都是是人脸识别大数据的。还有感觉不应该叫智博会,应该叫杂博会。连牙膏,饮料,避孕套他妈的都来展览!!!服气转载于:https://www.cnblogs.com/zly9527/p/11421315.html...
2019-08-27 22:52:00
110
转载 内置函数续
filter 过滤def x_1(x): return x % 2 == 1ret = filter(x_1,[1,2,3,4,5,6,67,78,8,9,])for i in ret: print(i)View Codefilter接收两个参数,第一个是函数名,不能加(),第二个是可迭代的。filter会将可迭代对象里面的所有参...
2019-08-25 23:32:00
119
转载 内置函数2
reverse 反转l = [1,2,3,4,5,6]l1 = reversed(l)for i in l1: print(i)View Code保留原列表,返回一个方向的迭代器slice 切片(调用一个函数去切)x= [1,2,3,4,2,5,34,23]c= [1,2,3,4,2,5,34,23]z = slice...
2019-08-25 22:18:00
136
转载 内置函数1
exec和evalexec和evak都可以执行 字符串类型的代码evak只能用在你明确知道你要执行的代码是什么eval 有返回值,——适合有结果的简单计算exec 没有返回。——适合简单的流程控制exec( 'print(123)')eval('print(123)')print(eval('1+2+3+4'))#有返回值print(exec('1+2+3+4...
2019-08-24 10:32:00
150
转载 内置函数补充
callable查看是否能够调用,并且只针对函数。并返回bool值。print(callable(print))a=2print(callable(a))View Codehelp帮助help()可以查看并返回关键字及注释。import导入模块open对文件操作hash对于相同可以hash数据的hash值在一次程序执...
2019-08-22 14:18:00
98
转载 生成器面试题
生成器的特点,只能往后执行并只能取一边。def demo(): for i in range(8): yield ig = demo()g1 = (i for i in g)g2 = (i for i in g1)print(list(g1))print(list(g2))#g2打印出来为空,因为g1在第一取值时向g去遍历,并把...
2019-08-22 10:42:00
246
转载 作业
需求:根据用户的需求,查找一个文件用户输入的内容并把它打印出来def find(file,aim): with open(file,encoding='utf-8') as g: for i in g: if aim in i: yield il = find('log','姐姐')...
2019-08-22 00:21:00
129
转载 各种推导式
30以内中所有能被3整除的数g = [i for i in range(30) if i % 3 == 0 ]#完整的列表推导式print(g)View Code30以内中所有能被3整除的数的平方g = [i*i for i in range(30) if i % 3 == 0 ]print(g)View Code找到列表中...
2019-08-21 23:31:00
180
转载 生成器表达式
与上面的列表推导式几乎相同,仅仅只是符号不同。当我们了解了列表推导式后,可以帮助我们跟好学习和了解生成器表达式。h = (i for i in range(20))print(h)View Code当我们创建了一个生成器表达式之后,我们可以打印下它的结果。可以看最后打印出来的是一个生成器。生成器表达式与列表推到式的区别: 括号不一样 ...
2019-08-20 23:10:00
168
转载 列表推导式
在py中,如果过我们需要一个列表,但是这个列表要求需要进行格式输出并编号。如果我们不知道列表推导式是这样实现g = []for i in range(20): g.append('套你大象{}'.format(i))print(g)View Code但是,当我们了解了列表推导式后,我们可以这样写。monkey = ['猴子%s'%...
2019-08-20 22:51:00
118
转载 python3新增知识点 yield from
需求给你一串字符串,将字符串按元素单个输出出来。在python3.4之前,如果想要实现这个需求。我们可以用for循环来做到def gennerator(): a = 'hsadfihdsachdsio' b = '2346328452344' for i in a: yield i for i in b:...
2019-08-19 00:07:00
129
转载 计算移动平均数
题目:通过使用生成器来做到对每输入一个值就计算一次平均数。def init(func): def inner(*args,**kwargs): g = func(*args,**kwargs) g.__next__() return g return inner@initdef avgrage(...
2019-08-18 23:46:00
1169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅