python基础学习日志day6-类的方法

一:类的方法说明

类的方法分为实例方法,析构方法,构造方法,类方法,静态方法,属性方法,等等

类方法和静态方法都可以被类和类实例调用,类实例方法仅可以被类实例调用

类方法的隐含调用参数是类,而类实例方法的隐含调用参数是类的实例,静态方法没有隐含调用参数

1)实例方法:类的实例能够使用的方法。

2) 析构方法:类中使用def __init__(self)定义的方法,也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面

3) 构造方法:__del__”就是一个析构函数了,当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间

4)静态方法:是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作。

  使用装饰器@staticmethod定义静态方法。类对象和实例都可以调用静态方法。

  只是名义上归类管理,实际上在静态方法里访问不了类的实例 中的中的任何属性

5)类方法:类方法是将类本身作为对象进行操作的方法。类方法使用@classmethod装饰器定义。类方法:只能访问类变量,不能访问实例变量

二:示例代码

  

时间: 2024-11-07 08:16:19

python基础学习日志day6-类的方法的相关文章

python基础学习日志day7-类的其他方法

一.isinstance(obj,cls)检查是否obj是类的cls对象 # -*- coding:utf-8 -*- __author__ = 'shisanjun' class Foo(object): pass f=Foo() print(isinstance(f,Foo)) #检查f是不是Foo的对象 class FooSub(Foo): pass print(issubclass(FooSub,Foo))#检查FooSub是不是Foo的子类

python基础学习日志day5-各模块文章导航

python基础学习日志day5---模块使用 http://www.cnblogs.com/lixiang1013/p/6832475.html python基础学习日志day5---time和datetime模块 http://www.cnblogs.com/lixiang1013/p/6848245.html python基础学习日志day5---random模块http://www.cnblogs.com/lixiang1013/p/6849162.html python基础学习日志da

python基础学习日志day6-面向对象

什么是面向对象编程 OOP编程是利用"类"和对象来创建各种模型来实现对真实世界的描述. OOP具有可维护性和可扩展性 二:面向对象有那些特性 1)CLASS类:一个类是对拥有相同属性的对象的抽象.类拥有类的属性和类的方法. 2)OBJECT对象:一个对象即是一个类的实例化的实例.这个过程就实例化. 3)Encapsulation封装:在类中对数据的赋值,内部调用对外部是透明. 4)Inheritance继承:一个类可以派生成子类,在这个父类的定义的属性和方法自动被子类继承 5)Poly

python基础学习日志day5---os模块

python os模块提供对操作系统进行调用的接口. # -*- coding:utf-8 -*-__author__ = 'shisanjun' import os print(os.getcwd())#获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("F:\python运维开发\day4")#改变当前的工作目录:相当于shell下cdprint(os.getcwd())#结果F:\python运维开发\day4 os.chdir(os.curdir)#返回

python基础学习日志day6-类的经典类vs新式类

经典类VS新式类区别 1)写法新式类class Person(object):#new style 经典类class Persion: #classical style 2)调用父类 新式写法用super 经典类直接写父类类名 3)多继承时继承顺序python3使用的是广度查询,所以两个都一样. 经典类python2是深度查询.所以经典类python2多继承是有BUG class D(B,C) D-->B-->A--C # -*- coding:utf-8 -*- __author__ = '

python基础学习日志day5---logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error() and critical() 5个级别,下面我们看一下怎么用. 最简单用法 1 2 3 4 5 6 7 8 import logging logging.warning("user [alex] attempt

python基础学习日志day7-类的反射

1)python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr, 改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. # -*- coding:utf-8 -*- __author__ = 'shisanjun' class Foo(object): def __init__(self): self.name="s" def func(self): return 'func' obj=Foo() #

python基础学习日志day9--线程队列queue

一:线程queu作用 Python中,queue是线程间最常用的交换数据的形式. 队列两个作用:一个是解耦,一个是提高效率 二:语法 1)队列的类 class queue.Queue(maxsize=0) #先入先出 class queue.LifoQueue(maxsize=0) #last in fisrt out  class queue.PriorityQueue(maxsize=0) #存储数据时可设置优先级的队列 优先级队列的构造函数.maxsize可以放置在队列中的项的最大个数.

python基础学习日志day6-类的继承

继承:承创建的新类称为"子类"或"派生类",被继承的类称为"基类"."父类. 继承的过程,就是从一般到特殊的过程.要实现继承,可以通过"继承"(Inheritance)和"组合"(Composition)来实现 继承概念的实现方式主要有2类:实现继承.接口继承. 实现继承是指使用基类的属性和方法而无需额外编码的能力 接口继承是指仅使用属性和方法的名称.但是子类必须提供实现的能力(子类重构爹类方法)