静态属性:

#静态属性 = 数据属性 (@property)
class mianji():
def __init__(self,x,y):
self.x = x
self.y = y #类的函数方法:
def mj(self):
z = self.x * self.y
return z #类的函数方法+@property
@property
def mj2(self):
z = self.x * self.y
return z abc = mianji(10,10)
print("类的属性",abc.x)
print('这是mj第一个输出:',abc.mj)
print('这是mj第二个输出:',abc.mj())
print("*"*10)
print('这是mj2第一个输出:',abc.mj2)
print('这是mj2第二个输出:',abc.mj2()) # @在一个函数前加了 @property 后,被修饰的函数转为了类的一个属性,
# 所以在调用的时候不要加括号了.

类方法:

#类方法 (@classmethod)
class leifangfa():
name = 'AA'
def __init__(self,name):
self.name = name #未修饰的类函数方法
def ff(self):
print(self.name) #修饰的类函数方法
@classmethod
def ff2(cls):
print(cls.name) #当类调用自己的方法时,会报错(需要传递self参数)
# leifangfa.ff()
#那怎么样类能够调用自己的方法而不报错呢?
leifangfa.ff2() #当然实例化后,实例调用这个修饰的函数方法时也只跟类方法有关,跟实例无关
abc = leifangfa("anec")
#实例调用类的方法
abc.ff2()

静态方法:

#静态方法(staticmethod)
#名义上归属类管理,不能使用类变量和实例变量,是类的工具包 class jingtaifangfa():
x = 1
def __init__(self,name):
self.name = name @staticmethod
def jtff(x,y):
z = x * y
return z #类调用静态方法:
print(jingtaifangfa.jtff(2, 2)) #实例调用静态方法:
abc = jingtaifangfa("anec")
print(abc.jtff(2, 2)) #静态方法相当于剥离与类属性、方法的绑定,单独可以被类和实例调用. # 拓展:
#当类方法不被修饰为静态方法时:
class jingtaifangfa():
x = 1
def __init__(self,name):
self.name = name def jtff(x,y):
z = x * y
return z #类能调用这个函数方法:
print(jingtaifangfa.jtff(2, 2)) #实例是不能调用这个函数方法的
abc = jingtaifangfa("anec")
print(abc.jtff(2, 2))

python - class类 (二) 静态属性/类方法/静态方法的更多相关文章

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

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

  2. JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  3. Class的使用,构造方法,实例属性和实例方法,静态属性和静态方法,this和super关键字,类的继承

    s6新增了一种定义对象实例的方法,Class(类)这个概念,作为对象的模板.class可以看作只是一个语法糖,通过class关键字,可以定义类.让对象原型的写法更加清晰.更像面向对象编程的语法. 一. ...

  4. PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

      前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象 ...

  5. PHP static静态属性和静态方法

    这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内 ...

  6. php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态 ...

  7. php静态属性和静态方法

    php静态属性和静态方法 2012-09-29 10:18 1518人阅读 评论(0) 收藏 举报 phpfunction 本php教程主要是学习php中静态属性和静态方法的使用方法和基本的示例. · ...

  8. static静态属性和静态方法的原理与调用技巧

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下     本文实例讲述了php中static静态属 ...

  9. PHP使用static关键字声明静态属性和静态方法

    PHP使用static关键字声明静态属性和静态方法 在PHP中,通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法. 静态属性和静态方法不需要在被类实例化的情况下就可以直接使用. ...

随机推荐

  1. P2157 [SDOI2009]学校食堂

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  2. Oracle Client安装报错:引用数据不可用于验证此操作系统分发的先决条件

    原因是Oracle Client 11g版本不支持最新的Win10系统. 打开Oracle Client 11g安装包目录:\client\stage\cvu 编辑该目录下的两个xml文件:oracl ...

  3. 自学Zabbix14.1 二次开发API

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix14.1 二次开发API Zabbix API我们可以做很多,自己开发web界面. ...

  4. NOI2018退役记

    NOI2018退役记 终于我也退役了-- Day0 高中毕业前最后一次坐飞机了--在机场干什么呢?当然是打元气打元气打元气.下飞机干什么呢?当然是打元气打元气打元气. 有接机服务,大巴上有个导游,又向 ...

  5. 【转】Linux root修改密码失败

    问题: 当使用root修改密码时,报错passwd:Authentication token manipulation error 解决: 1.查看是否权限问题, /etc/passwd /etc/s ...

  6. HTML5小游戏-简单抽奖小游戏

    换了新工作以后,专注前端开发,平常空闲时间也比较多,可以多钻研一下技术,写一下博客.最近在学习canvas,参考网上的slotmachine插件,用canvas实现了一个简单抽奖小游戏.       ...

  7. Java NIO -- 通道 Channel

    通道(Channel):由 java.nio.channels 包定义的.Channel 表示 IO 源与目标打开的连接.Channel 类似于传统的“流”.只不过 Channel本身不能直接访问数据 ...

  8. A1016. Phone Bills

    A long-distance telephone company charges its customers by the following rules: Making a long-distan ...

  9. struct字节对齐原则

    原则1:windows下,k字节基本类型以k字节倍数偏移量对齐,自定义结构体则以结构体中最高p字节基本类型的p字节倍数偏移量对齐,Linux下则以2或4字节对齐; 原则2:整体对齐原则,例如数组结构体 ...

  10. keepalive的工作原理和如何做到健康检查

    keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议. 虚拟路由冗余协议,可以认为是实现路由器高可用的 ...