啥时候用:1.假设 你有一个方法 既不需要访问实例属性 也不调用实例方法2.既不访问类属性,也不调用类方法这时候可以把ta封装成一个静态函数 咋使用:1.通过装饰器@staticmethod进行修饰2.通过类名调用,不用创建对象 ta和其他函数有啥区别:1.通过类调用2.必须置于方法的头一行3.静态方法访问实例方法和实例属性 会报错4.静态函数 不常用(能不用就不用哈)5.类方法用cls 修饰6.实例方法用self修饰7.功能独立,避免和其他函数 出...
‘‘‘打印方式一‘‘‘# import os# file= ‘文件‘# os.startfile(file,‘print‘)‘‘‘打印方式二‘‘‘import xlwings as xwapp = xw.App(visible=False, add_book=False)app.display_alerts = Falseapp.screen_updating = Truewb = app.books.open(‘文件‘)w=wb.sheets[‘sheet名‘]w.api.PrintOut()#打印wb.close()app.kill()‘‘‘打印方式三‘‘‘import win32com.clientxlApp = win32com.client.Dispatch(‘Excel.Appli...
字符串、列表、字典、元组、集合都是序列结构sequence,有下标、具备切片功能、可以存放任何类型数据。列表list 定义: list = [] list=[1,2,‘a‘,"hello",(3,4),[3,5,‘f‘],{‘a‘:‘tom‘}] 1> 增: a> list.append() #默认尾部增加 list.append(100) list.append([1,2])#默认尾部增加 b> list.insert(插入下标,插入值) #某个位置插入 list.inser...
逛到一个有意思的博客http://cuiqingcai.com/category/technique/python 在里面看到一篇关于ValueError: invalid literal for int() with base 10错误的解析,针对这个错误,博主已经给出解决办法,使用的是re.sub 方法1 totalCount = ‘100abc‘2 totalCount = re.sub("\D", "", totalCount) 但是没有说明什么含义,于是去查了其他的资料,做一下记录: 在Python3.5.2 官方文档re模块中sub函数的定义是: re.sub(pattern...
静态方法是使用@staticmethod装饰的方法,并且参数表中不需要self或者cls,可以访问类成员变量默认的方法是有self的,是成员方法,可以访问私有变量和方法(通过self.xxx),或者访问类方法或变量(通过类名.方法名或变量名)类方法使用@classmethod来装饰,参数表中不需要self,但需要cls参数和当前类关联。不能访问成员变量和方法,但是可以通过cls.xxx访问类方法或类变量一下是参考了网上的一些大神的总结: 静态成员方法: 不能访问...
Mixin模式是一种在python里经常使用的模式,适当合理的应用能够达到复用代码,合理组织代码结构的目的。 Python的Mixin模式可以通过多继承的方式来实现, 举例来说,我们自定义一个简单的具有嵌套结构的数据容器:class SimpleItemContainer(object):def __init__(self, id, item_containers):self.id = idself.data = {}for item in item_containers:self.data[item.id] = item SimpleItemContainer通过python内置类型Dict来存放数...
工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实体化哪一个类。 在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置上,它知道每一个产品类的细节,并决定何时哪...
工厂方法模式是简单工厂模式的进一步抽象和推广,它不仅保持了简单工厂模式能够向客户隐藏类的实例化过程这一优点,而且还通过多态性克服了工厂类过于复杂且不易于扩展的缺点。在工厂方法模式中,处于核心地位的工厂类不再负责所有产品的创建,而是将具体的创建工作交由子类去完成。工厂方法模式中的核心工厂类经过功能抽象之后,成为了一个抽象的工厂角色,仅负责给出具体工厂子类必须实现的接口,而不涉及哪种产品类应当被实例化...
单例 文章目录单例目标01. 单例设计模式单例设计模式的应用场景02. `__new__` 方法03. Python 中的单例只执行一次初始化工作 目标单例设计模式 __new__ 方法 Python 中的单例01. 单例设计模式设计模式设计模式 是 前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对 某一特定问题 的成熟的解决方案 使用 设计模式 是为了可重用代码、让代码更容易被他人理解、保证代码可靠性单例设计模式目的 —— 让 类 创建的对象,在...
一、继承 1.函数的重写override 前提:在具有继承关系的类中 作用:将父类中已有的函数在子类中进行重新的实现【声明部分一样的,实现部分不一样】1.1系统函数的重写注意:并不是所有的系统函数都需要重写 __str__ __repr__代码演示: class Person(object):def __init__(self,name,age,height,score):self.name = nameself.age = ageself.height = heightself.score = score#3.__str__的重写:返回一个对象信息的字符串def __str__...
issubclass(A,B)判断A是否是B的子类 面向对象三大特性 封装: 根据职责将属性和方法封装到一个抽象类中,是定义类的准则 继承: 实现代码的复用,相同代码不要重写,是设计类的技巧,而且子类可以针对自己的需求,编写特定代码 多态: 不同子类对象调用父类代码,产生不同的执行结果,以继承和重写父类方法为前提,是调用方法的技巧,对类的内部设计无影响 例: Person类中,只需要让dog对象调用game方法,但是不关心具体是调用哪...
工厂方法 使用相同的接口,来处理不同的事情。 在工厂设计模式中,客户端可以请求一个对象,无需知道这个对象来自哪里(使用具体的哪个类来生成的,用户只是调用同一个方法就能实现) 工厂通常有两种形式, 一种是工厂方法 一种是抽象工厂 一下是工厂方法的代码 用户通过connect_to这个方法,来生成一个对象,获取xml或者json数据,而无需关心其他细节。 data目录下 donut.json[{"id": "0001","type": "donut","name": "Cake","ppu...
第一步:在http://www.freetds.org/下载并安装freetds-stable.tgz (wget命令) 第二部:tar zxvf freetds-stable.tgz (解压压缩包) 第三步:cd freetds-0.91 (进入解压后的文件夹中) 第四步:终端输入 ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static 第五步:终端输入 make 第六步:终端输入 make install 第七步:终端输入 echo...
最近要学习python深度学习,因为要用python做图形的识别,求相关的入门书籍。中文的最好。就是给一张图,能够识别出图像是什么。回复内容: 这是一个较完整的应用深度学习进行图像识别的学习路径,不是深度学习的捷径!1. 模式识别从你的描述问题的语言来看,题主似乎对模式识别没有较高的认识。所以在做基于深度学习的图像识别前,建议先大致阅读模式识别和计算机视觉相关书籍。先理解图像这个信息本身,才来尝试识别。《学习Open...
6.1 处理文本数据 6.1.1 单词和字符的one-hot编码 (1)单词级的one-hot编码: 1 # 单词级的one-hot编码2 import numpy as np3 4 # 初始数据:每个样本是列表的一个元素(本例中的样本是一个句子,但也可以是一整篇文档)5 samples = [The cat sat on the mat., The dog ate my homework.]6 7 # 构建数据中所有标记的索引8 token_index = {}9 for sample in samples: 10 # 利用split方法对样本进行分词,在实际应用中,还需要从样本...