python的类方法需要在方法前面加装饰器:@classmethod ,静态方法是在方法前面加装饰器:@staticmethod。

类方法、类属性是属于类自身,属于类自身的命名空间,和实例方法、实例属性不在一个命名空间下。

实例对象和类都可以直接调用类方法、实例方法和静态方法,区别在于:在类方法和静态方法内部不能调用实例属性。

class Base:
def __init__(self):
print "base begin..."
def prints(self):
print "print base..." class Base1:
def __init__(self):
print "base1 begin..."
def printss(self):
print "print base1..." class Base2(Base1,Base):
names = 'li'
def __init__(self,name):
self.name = name
def prints(self):
print "print objectmethod..."+self.name
@staticmethod
def printStatic():
print "print staticmethod..."
@classmethod
def printClass(cls):
print "print classmethod"+cls.names b = Base2('king')
b.prints()
b.printClass()
b.printStatic()
print b.names
Base2('jim').printStatic()
Base2('jim').printClass()
Base2('jim').prints()

关于python的类方法、实例方法和静态方法区别的更多相关文章

  1. python类的实例方法、静态方法和类方法区别及其应用场景

    https://blog.csdn.net/helloxiaozhe/article/details/79940321 普通实例方法,第一个参数需要是self,它表示一个具体的实例本身. 如果用了st ...

  2. python中的实例方法、静态方法、类方法、类变量和实例变量

    class MyTest: myname = 'peter' # add a instance attribute    def __init__(self, name):        self.n ...

  3. Python - 面向对象编程 - 实例方法、静态方法、类方法

    实例方法 在类中定义的方法默认都是实例方法,前面几篇文章已经大量使用到实例方法 实例方法栗子 class PoloBlog: def __init__(self, name, age): print( ...

  4. 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别

    [面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...

  5. python中的实例方法、类方法、静态方法的区别

    Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义. class Foo(object): def test(self)://定义了实例方法 print( ...

  6. Python类变量,实例变量,类方法,实例方法,静态方法的分析

    Python作为动态语言,跟静态语言如c/c++有很大区别,其中的一个重要的特性就是Python的变量无需声明直接可用.同样,类的成员变量无需声明,直接可用.目的是为了动态语言跟灵活,在思路想到的时候 ...

  7. Python Class 的实例方法/类方法/静态方法

    实例方法.类方法.静态方法 class MyClass(object): class_name = "MyClass" # 类属性, 三种方法都能调用 def __init__(s ...

  8. Python高级笔记(五)--实例方法、静态方法和类方法

    1. 类属性.实例属性 类属性在内存中只保存一份 实例属性在每个对象中都要保持一份 obj.__class__.country="xxx": 可以修改类属性 2. 实例方法.静态方 ...

  9. [Python3 填坑] 017 实例方法、静态方法、类方法的区别

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 先上例子 2.2 分析 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 内容 Py024-1 实例方法 ...

随机推荐

  1. [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同

    转自:http://blog.csdn.net/pipisorry/article/details/45563695 http://blog.csdn.net/pipisorry/article/de ...

  2. for循环执行步骤

    for循环的具体步骤: for(var i=0;i<5;i++){ alert(1); } 第一步--->初始化i(初始化只在for循环中执行一次); 第二步--->执行条件i< ...

  3. ASP.NET里面,如果设置了form的 onsubmit="return false;"之后,就不能提交按钮了?

    我的按钮是写成的服务器控件的形式<asp:Button ID="btnSubmitBR" runat="server" Text="提交&quo ...

  4. [SOJ] 商人的宣传

    Description Bruce是K国的商人,他在A州成立了自己的公司,这次他的公司生产出了一批性能很好的产品,准备宣传活动开始后的第L天到达B州进行新品拍卖,期间Bruce打算将产品拿到各个州去做 ...

  5. 系统自动生成ID(比UUID.radom().tostring()要好看)

    public class test1 { public static void main(String[] args) { char[] para = {'A','B','C','D','E','F' ...

  6. 洛谷-统计数字-NOIP2007提高组复赛

    题目描述 Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照 ...

  7. action 耦合方式

    //ActionContext 方式 package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.Ac ...

  8. svn is already locked解决办法

    在出错文件夹下,鼠标右键

  9. mysql近几天的查询

    今天:select*from table1 where to_days(时间字段名)=to_days(now()); 昨天:select*from table1 where to_days(now() ...

  10. hibernate 和 jdbc 优缺点对比

    jdbc缺点: 1.编程繁琐,用的try和catch比较多 2.jdbc没有对数据做缓存 3.没有做到面向对象编程 4.sql语句的跨平台性很差 jdbc优点: 效率比较高 hibernate的优点: ...