类属性  定义在类里面,方法外面的属性,一般属于这个类,如下面的 num 就是类属性:

class Test:
num =

类属性用 实例.类属性   或者 类.类属性 都可以访问,

如 a = Test()  用 a.num 可以访问 ,但是如果这个实例有一个实例属性 self.num 那么这样访问的其实是 self.num ,

所以一般用 类.属性 即这样 Test.num 访问

类方法, 类方法是属于这个类的方法,定义方式为 前面加上装饰器 @classmethod 且第一个参数传递的是当前类的名字,和self 差不多,只不过一般用 cls 来表示 :

class Test:
num = @classmethod
def setNum(cls, newNum):
cls.num = newNum

这个 setNum 方法就是类方法,可以通过调用 Test.setNum(100) 这种方式来把类属性 num 的值改为 100

当然也可以通过 实例.setNum(100) 来调用,但是如果有个实例方法也是test这个名字,那么调用的将会是实例方法而不是类方法.

静态方法:如果一个方法,和类属性实例属性类方法实例方法都没有什么关系,如 只是打印一句话,那么可以把他作为一个静态方法,前面需要加上装饰器 @staticmethod :

class Test:
@staticmethod
def printInfo():
print('this is a staticmethod')

这个静态方法和类方法一样,可以用实例调用也可以用类调用,但是一般用   类.静态方法  调用,因为如果有相同名字的实例方法,也是优先调用实例方法.

python__基础 : 类属性,类方法,静态方法的更多相关文章

  1. Python中的私有属性私有方法、类属性类方法以及单例设计模式

    私有属性是对象不希望公开的属性,私有方法是对象不希望公开的方法.在定义私有属性和私有方法时,在属性或者方法前,加上__(两个下划线) 公有方法可以通过对象名直接调用,私有方法不能通过对象名直接调用,只 ...

  2. python - class类 (二) 静态属性/类方法/静态方法

    静态属性: #静态属性 = 数据属性 (@property) class mianji(): def __init__(self,x,y): self.x = x self.y = y #类的函数方法 ...

  3. python的类的 静态属性 类方法 静态方法

    一.静态属性 静态属性说的就是数据属性 1.定义一个房间的类,求下这个房间的面积 class Room: def __init__(self,name,ower,width,length,heigh) ...

  4. python 类属性、静态方法与类方法

    1. 类属性 1.1 定义 在类中方法外通过属性名 = 属性值定义的属性 访问方式: 类名.属性名 对象名.属性名 class Student: cls_id = 102 stu = Student( ...

  5. python类方法、类属性和静态方法

    class Game(object): #类属性 num = 0 #实例方法 def __init__(self): #实例属性 self.name = "laowang" #类方 ...

  6. Python——面向对象,类属性,静态方法,类方法

    一.类属性 """类属性(Class attribute) 定义:类对象所拥有的属性,被该类的所有实列对象所共有 类对象和实例对象皆可访问类属性 应用条件:记录的某项数据 ...

  7. Python面向对象之类属性类方法静态方法

    类的结构 实例 使用面向对象开发时,第一步是设计类: 当使用 类名() 创建对象时,会自动执行以下操作: 1.为对象在内存中分配空间--创建对象: 2.为对象的属性 设置初始值--初始化方法(init ...

  8. python__基础 : 类的继承,调用父类的属性和方法

    1.继承,调用父类属性方法 在python里面,继承一个类只需要这样写: class Animal: def heshui(self): print('动物正在喝水') class Cat(Anima ...

  9. python面向对象 : 属性, 类方法, 静态方法

    一. 属性 属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理. property应用 : 类似于bmi这种,area,周长.... 需要用到计算的.   # 求BMI体质数:BMI = 体 ...

随机推荐

  1. Unity C# 使用JsonUtility读写Json文件

    本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/7146731.html 今天,为大家分享一下unity上的Json序列化,应该一说到这个词语 ...

  2. ThinkPHP报Class 'Core\Log' not found竟然是由这个原因导致的

    项目在开发阶段运行的好好的(Debug=true),上线后(Debug=false)其中有一个页面报“对不起,您的页面暂进无法找到!”错误.摸不清头脑,看看了这个页面也没有什么两样,可就是提示这句话, ...

  3. IDEA配置 tomcat server

  4. one + two = 3

    读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =", ...

  5. Andoid Intent学习之在各个活动之间传递数据

    Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意 ...

  6. html+javascript+soap获取webservice免费天气预报信息

    转自:http://blog.163.com/hubeimeiyu@126/blog/static/8004881020118303318687/ 首先,也是最重要的是互联网上免费的天气预报源:htt ...

  7. Office加载项安装

    出自我的个人主页 Alvin Blog 前言 Excel加载项离不开安装,Excel加载项本身安装及其简单,但这是在申请下来Office开发者账户之后,再次之前都得自行安装 线上安装 微软申请开发者账 ...

  8. python读入文档中的一行

    从文件log_fusion中读入数据 方法1 f = open("log_fusion.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 r ...

  9. April 5 2017 Week 14 Wednesday

    Today is a perfect day to start living your dream. 实现梦想,莫如当下. Miracles may happen every day. If you ...

  10. 【LOJ6029】「雅礼集训 2017 Day1」市场(线段树裸题)

    点此看题面 大致题意: 维护序列,支持区间加法,区间除法(向下取整),区间求\(min\)和区间求和. 线段树维护区间除法 区间加法.区间求\(min\)和区间求和都是线段树基本操作,因此略过不提. ...