- 博客(9)
- 资源 (13)
- 问答 (2)
- 收藏
- 关注
原创 Python自学成才之路 装饰器必用的wraps注解
保留元信息先看一个案例:def my_decorate(func): def inner_fun(*args, **kargs): print('here is my_decorate') func() return inner_fun@my_decoratedef greet(): print("say hi")print(greet.__name__)输出:inner_funGreet函数的名字为何会变成了inner_
2020-07-29 22:38:20 455
原创 Python自学成才之路 使用函数作为装饰器
前面都是用类作为装饰器(传送门),主要是用类作为装饰器理解起来更容易。其实函数也可以用来做装饰器,因为函数本身就是可调用的,而且函数作为装饰器用得更多。同样函数作为装饰器可分为装饰器带有参数和不带参数。第一种:不带参数的装饰器不带参数的装饰器需要以函数作为参数,最后返回一个函数,如下所示:def my_decorate(func): def wrapper(*args, **kwargs): func(*args, **kwargs) return wrapper
2020-07-28 23:14:13 288
原创 Python自学成才之路 带有参数的装饰器
文章目录第一种:装饰器不带参数第二种:装饰器带参数上一节留了点悬念。(上一节)函数和装饰器都可以添加参数,但是装饰器结构上的区别在于装饰器是否带参数。第一种:装饰器不带参数看下面一个案例:class my_decorate(object): def __init__(self, f): """ 如果装饰器不带参数,函数需要作为参数传递给这个类的构造器 """ print("进入到 __init__") sel
2020-07-25 22:01:42 233
原创 Python自学成才之路 装饰器编程之初试装饰器
装饰器可以理解为是一个控制过程,这个控制过程需要函数作为参数。一个函数加了控制过程之后,这个函数执行前后控制过程都能够做一些处理。有点类似于java里面的aop。为了方便理解,先用类来创建一个装饰器。class my_decorator(object): def __init__(self, f): print("进入到装饰器 __init__()") f() def __call__(self): print("进入装饰器 __cal
2020-07-25 21:33:23 228
原创 Python自学成才之路 元类中的__new__和__init__方法
文章目录 前面一节留了点悬念,这一节来做解释,相信看完这节你会对元类有更加深刻的认识。 元类其实和普通类一样,普通类的__new__方法是创建实例,__init__方法是初始化实例,说是初始化,其实就是可以给实例添加一些属性。在元类中也是一样,只是元类__new__创建的是类实例,__init__是对类实例做修改。&
2020-07-19 23:40:27 832
原创 Python自学成才之路 详解类的三个重要方法__new__,__init__,__call__
文章目录__call__方法__new__和__init__这里对类做两种划分,元类和普通类(基类中不包含type)。__call__方法首先介绍一下__call__方法,python中要想一个类的对象能够像函数一样被调用,那这个类需要实现__call__方法。比如像下面这样:class Person(object): def __call__(self): print('__call__')person = Person()person()__call__方
2020-07-16 23:30:59 424
原创 Python自学成才之路 什么是元类
文章目录什么是元类?元类是干什么的?有哪些元类?为什么要学元类?什么是元类?有这么一个类class A(object): passa = A()print(type(a))输出:<class '__main__.A'>类A的实例a类型是<class ‘main.A’>,如果把type用在类A上会输出什么?print(type(A))输出:<class 'type'>输出结果<class ‘type’>,这个type到
2020-07-15 22:20:18 693
原创 Python自学成才之路 终于弄清楚类方法,静态方法的区别了
class Person(object): num = 0 def __init__(self, name, age): self.name = name self.age = age Person.classMethod() def instanceMathod(self): print('name: %s, age = %s'%(self.name, self.age)) @staticmethod.
2020-07-12 19:36:19 1043 1
原创 python自学成才之路 类属性和实例属性,__slots__方法
目录类属性和实例属性__dict__方法__slots__方法类属性和实例属性python里面属性分两种,类属性和实例属性。如何去区分一个属性是类属性还是实例属性?在__init__中带有self的是实例属性,与方法平级的是类属性。class Man(object): gender = 'man' def __init__(self, name, age): self.name = name self.age = age def beha
2020-07-12 00:08:46 363
bashdb-4.2-0.8
2018-03-01
nagios-4.1.1.tar.gz centreon-2.5.4.tar.gz
2017-08-10
多文件内容拷贝到一个文件上(解决中文乱码) java实现
2015-05-08
C语言程序运行时出现的问题
2013-09-24
C语言程序运行时出现问题
2013-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人