cls

day22总结

二次信任 提交于 2019-12-01 07:24:05
目录 类的绑定方法 classmethod 非绑定方法 staticmethod isinstance和issubclass 判断一个对象是否是一个类的实例---isinstance 判断一个类是否是另一个类的子类---issubclass 反射 什么是反射? 反射的四种方法 类的内置方法(魔法方法) 什么是类的魔法方法? 常用的类的魔法方法 类的魔法方法 __del__ 的应用 单例模式 什么是单例模式 单例模式的目的 如何实现 类的绑定方法 classmethod 是一个装饰器,可以装饰给类内部的方法,使该方法绑定给类来使用 由类来调用类中定义的函数称之为类的绑定方法,该函数会绑定给类使用,并且会将类当做该绑定方法的第一个参数自动传入 class People: def __init__(self,name,age): self.name = name self.age = age @classmethod #先使用装饰器默认添加函数参数 "cls" def prt_info(cls): print(f'''姓名: {cls('蔡启龙',25).name} 年龄: {cls('蔡启龙',25).age}''') People.prt_info() print('*'*50) people = People('tank',30) people.prt_info()

两句话掌握python最难知识点——元类

。_饼干妹妹 提交于 2019-12-01 07:23:45
千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住。因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来里?我要到哪里去? 在python世界,拥有一个永恒的道,那就是“type”,请记在脑海中,type就是道。如此广袤无垠的python生态圈,都是由type产生出来的。 道生一,一生二,二生三,三生万物。 道 即是 type 一 即是 metaclass(元类,或者叫类生成器) 二 即是 class(类,或者叫实例生成器) 三 即是 instance(实例) 万物 即是 实例的各种属性与方法,我们平常使用python时,调用的就是它们。Python入门到实践学习教程请加群 道和一,是我们今天讨论的命题,而二、三、和万物,则是我们常常使用的类、实例、属性和方法,用hello world来举例:219539519零基础,进阶实战,欢迎加入 # 创建一个Hello类,拥有属性say_hello ----二的起源 class Hello(): def say_hello(self, name='world'): print('Hello, %s.' % name) # 从Hello类创建一个实例hello ----二生三 hello = Hello() # 使用hello调用方法say

Sequelize 中文文档 v4 - Transactions - 事务

南楼画角 提交于 2019-12-01 05:19:13
Transactions - 事务 此系列文章的应用示例已发布于 GitHub: sequelize-docs-Zh-CN . 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. Sequelize 支持两种使用事务的方法: 一个将根据 promise 链的结果自动提交或回滚事务,(如果启用)用回调将该事务传递给所有调用 而另一个 leave committing,回滚并将事务传递给用户。 主要区别在于托管事务使用一个回调,对非托管事务而言期望 promise 返回一个 promise 的结果。 托管事务(auto-callback) 托管事务自动处理提交或回滚事务。你可以通过将回调传递给 sequelize.transaction 来启动托管事务。 注意回传传递给 transaction 的回调是否是一个 promise 链,并且没有明确地调用 t.commit() 或 t.rollback() 。 如果返回链中的所有 promise 都已成功解决,则事务被提交。 如果一个或几个 promise 被拒绝,事务将回滚。 return sequelize.transaction( function ( t ) { // 在这里链接您的所有查询。 确保你返回他们。 return User.create({ firstName : 'Abraham' , lastName

Python常用模块

久未见 提交于 2019-12-01 04:27:21
一、os模块 os模块是与操作系统交互 的一个接口 ,使用该模块必须先导入该模块。 import os #操作文件和目录 os.getcwd() #获取当前脚本运行的工作目录路径,'C:\\Users\\Administrator\\代码测试' os.chdir('C:\\Users\\Administrator\\代码测试') #改变当前脚本的工作目录路径 os.curdir #获取当前工作目录,'.' os.pardir #返回当前目录的父目录,'..' os.mkdir("test1") #创建单级目录 os.rmdir("test1") # 删除单级空目录,若目录不为空则无法删除,则会报错 os.makedirs('tes2/test3') #生成多层递归目录 os.removedirs('tes2/test3') #若最里面一层目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.listdir('tes2') #获取指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印,['test3'] os.remove('test/1.txt') #删除一个文件 os.rename("test","newtest") #重命名文件/目录 os.stat('tes2/test3') #获取文件/目录信息,os.stat_result(st_mode

第七章 面向对象

早过忘川 提交于 2019-12-01 01:44:40
第七章 面向对象 7.1.1 基本概念 类 : 具有相同方法和属性的一类事物 对象、实例 : 一个拥有具体属性值和动作的具体个体,是类的一个实例 实例化 :从一个类得到一个具体对象的过程 7.1.2 基本格式 # 定义类 class 类名: #类名 第一个是大写字母 def 方法名(self,name): #必须由self print(name) return 123 def 方法名(self,name): print(name) return 123 def 方法名(self,name): print(name) return 123 # 调用类中的方法 # 1.创建该类的对象 obj = 类名() # 2.通过对象调用方法 result = obj.方法名('alex') print(result) 7.1.3 应用场景 应用场景:遇到很多函数,需要给函数进行归类和划分 三个词:类、对象、方法 补充: 类和对象是什么关系? 对象是类的一个实例 self是什么?(obj.方法时会把obj传给self) self就是一个形式参数,对象调用方法时,python内部会将该对象传给这个参数 类内部代码会从上到下依次执行,类变量立即执行,方法需调用内部代码才会执行 类与类之间可以嵌套,执行遵循上条 类/方法/对象 都可以当做变量嵌套到其他类型中 什么时候用面向对象? 函数(业务功能)比较多

orm

泪湿孤枕 提交于 2019-11-30 23:44:23
简单的orm实现 我们在使用各种框架的时候,关于数据库这方面的使用,框架给我们提供了很好的封装,这个就是orm 关系映射 orm的底层无非就是做了关系映射 数据库的表(table) --> 类(class) 记录(record,行数据)--> 对象(object) 字段(field)--> 对象的属性(attribute) ORM设计 字段 首先是字段,每个字段都有很多的字段属性,然后考虑到,每个表的字段可能都不同,为了给他提供更好的拓展性,所以这里我们选择用类来封装 class Field(object): def __init__(self, name, column_type, primary_key, default): self.name = name self.column_type = column_type self.primary_key = primary_key self.default = default class StringField(Field): def __init__(self,name, column_type='varchar=(255)', primary_key=False, default=None): super().__init__(name,column_type,primary_key,default) class

python 单例装饰器

纵然是瞬间 提交于 2019-11-30 17:56:54
Python中单例模式的实现方法有多种,但在这些方法中属装饰器版本用的广,因为装饰器是基于面向切面编程思想来实现的,具有很高的解耦性和灵活性。 单例模式定义:具有该模式的类只能生成一个实例对象。 def singlecls(cls, *args,**kwargs):   instace = {}   def get_instance(cls, *args, **kwargs):     if cls not in instace:       instances[cls] = cls(*args, **kwargs)     return instance[cls]   return get_instace      @singlecls class A(object):   def __init__(self):     pass A = singlecls(A) 在创建实例对象时会先将 A 作为参数传入到 singlecls 函数中,函数在执行过程中不会执行 get_instance 函数(函数只有调用才会执行),直接返回get_instance函数名。 此时可以看作 A = get_instance,创建实例时相当于 a= get_instance(),调用get_instance 函数,先判断实例是否在字典中,如果在直接从字典中获取并返回, 如果不在执行 instances

元类

穿精又带淫゛_ 提交于 2019-11-30 06:25:56
目录 元类 什么是元类 为什么用元类 内置函数exec class创建类 type实现 自定义元类 _ _ call _ _ _ _ new _ _ 自定义元类控制的实例化 属性查找顺序 元类 警告!警告!前方核能来袭!!!想要上车的小伙伴赶紧上车了,时间不多了。。。列车长注意把各车门给我焊死了!请各位小伙伴在路途中勿随意跳车,跳车不规范,亲人两行泪。。。各位乘客我们开始出发了,路途中请注意生命安全,如未及时写下遗书,本列车概不负责! 什么是元类 二、什么是元类 在python中一切皆对象,那么我们用class关键字定义的类本身也是一个对象,负责产生该对象的类称之为元类,即元类可以简称为类的类 class Foo: # Foo=元类() pass 为什么用元类 元类是负责产生类的,所以我们学习元类或自定义类的目的:是为了控制类的产生过程,还可以控制对象的产生过程 内置函数exec cmd=''' x=1 print('exec函数在此') def func(self): pass ''' class_dic={} exec(cmd,{},class_dic) print(class_dic) 该内置方法的作用是把cmd字符串中的代码以键对值的形式放到字典中 class创建类 如果说类也是对象,那么用class关键字的去创建类的过程也是一个实例化的过程,该实例化的目的是为了得到一个类

Clear screen in C and C++ on UNIX-based system?

时光怂恿深爱的人放手 提交于 2019-11-30 05:16:00
I want to know: how to clean screen on an UNIX-based system? I searched on the Internet, but I've just found how to do it on Windows: system("CLS") I don't want exactly to clean cpmpletely the screen, but I want to open a "new page", such as in the NANO and VI editors. Thanks Maybe you can make use of escape codes #include <stdio.h> #define clear() printf("\033[H\033[J") int main(void) { clear(); return 0; } But keep in mind that this method is not compatible with all terminals You can use the following code which use termcap for clear screen. (don't forget to link with the library) #include

importlib 根据字符串导入模块

我的未来我决定 提交于 2019-11-30 03:36:57
应用: Django中间件,rest framework 组件的全局配置文件 import importlib path = "abc.def.foo" module_path,class_name = path.rsplit('.',maxsplit=1) # 根据字符串的形式导入模块 m = importlib.import_module(module_path) cls = getattr(m,class_name) # foo() obj = cls() obj.process_request()     来源: https://www.cnblogs.com/wt7018/p/11553354.html