随笔分类 - python
摘要:AES解密 安装 pip install Crypto copy可用 import base64 from Crypto.Cipher import AES class EncryptDate: def __init__(self, key): self.key = key.encode('utf-
阅读全文
摘要:获取文件对象 import openpyxl file = '1.xlsx' #文件路径 wb = openpyxl.load_workbook(file, data_only=True) # 打开文件 获取 工作簿中所有工作表名的列表 wb.get_sheet_names() 获取工作表 #按名字
阅读全文
摘要:#单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配
阅读全文
摘要:#一、str 在print输出的时候会自动调用__str__ 我们在自定义的时候必须要有返回值,且必须为字符串 打印时触发 class Foo: def __init__(self, name, age): """对象实例化的时候自动触发""" self.name = name self.age =
阅读全文
摘要:#一、call 对象后面加括号时,触发执行。 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的, 即:对象() 调用它的类的__call__ 或者 类() 调用它的元类的__call__ class BBJ(type):#自定义元类必
阅读全文
摘要:#一、format 自定制格式化字符串 date_dic = { 'ymd': '{0.year}:{0.month}:{0.day}', 'dmy': '{0.day}/{0.month}/{0.year}', 'mdy': '{0.month}-{0.day}-{0.year}', } clas
阅读全文
摘要:class Foo: def __init__(self, name): self.name = name def __getitem__(self, item): print('getitem执行', self.__dict__[item]) def __setitem__(self, key,
阅读全文
摘要:#一、isinstance与type 在游戏项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。 这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。 验证类型用type函数,非常好用 print(type('f
阅读全文
摘要:#一 元类介绍 什么是元类呢?一切源自于一句话:python中一切皆为对象。让我们先定义一个类,然后逐步分析 class StanfordTeacher(object): school='Stanford' def __init__(self,name,age): self.name=name se
阅读全文
摘要:#一 反射 python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制。 在pytho
阅读全文
摘要:#一 绑定方法与非绑定方法 类中定义的函数分为两大类:绑定方法和非绑定方法 其中绑定方法又分为绑定到对象的对象方法和绑定到类的类方法。 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定到了类。 我们在之前的章节中已经介绍过对象方法了,本节
阅读全文
摘要:#一多态与多态性 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪 class Animal: #同一类事物:动物 def talk(self): pass class Cat(Animal): #动物的形态之一:猫 def talk(self): print('喵喵喵') class
阅读全文
摘要:#一 继承介绍 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类 class ParentClass1: #定义父类 pass class ParentClass2: #定义父类 pass class SubClass1(
阅读全文
摘要:#一 引入 面向对象编程有三大特性:封装、继承、多态,其中最重要的一个特性就是封装。封装指的就是把数据与功能都整合到一起,听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。除此之外,针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏与开放接口
阅读全文
摘要:一 对象的概念 对象: 所有的程序都是由”数据”与“功能“组成,因而编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作 对象就是一个容器,我们可以把我们想放在一起的数据和功能整合到一起放进去,方便我们调用使用 在了解了对象的基本概念之后,理解面向对象的编程方式就相对简单很多
阅读全文
摘要:一、什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 二:常用匹配
阅读全文
摘要:一、hashlib模块 1、什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值 2、hash值的特点是: (1) 只要传入的内
阅读全文
摘要:一、shelve模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f=shelve.open(r'sheve.txt') # f['stu1_info']={'na
阅读全文
摘要:一、json模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值。 impo
阅读全文
摘要:一、shutil 1、shutil.copyfileobj(fsrc, fdst[, length]),将文件内容拷贝到另一个文件中 -shutil.copyfileobj(open('old.xml', 'r'), open('new.xml', 'w')) 2、shutil.copyfile(s
阅读全文