如果只看这个图,很多人可能会看的一头雾水,特别是学过完全面向对象语言的同学, Python 是双面向的,既可以面向函数编程,也可以面向对象编程,所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,通过模块名.函数名()即可调用,完全不需要类,那么你可能会问,那要类还有什么毛用? 类就是用来面向对象编程啦,类可以有自己的属性,类可以创建很多实例,每个实例可以有不同的属性,这也就保存了很多私有的数据,总之都有存在的必要.

再来看上面这张图,在类里面定义的函数就是方法,类方法需要@ classmethod 修饰并且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修饰,类和实例都可以访问静态方法,实例可以访问实例方法也可以访问类方法,类可以访问类方法也可以访问实例方法,访问实例方法必须要带参数 self, 可以理解为类其实也是一个实例,类访问实例方法不带参数会报错的.类本身可以访问函数,实例却不行.

转载于:https://www.cnblogs.com/ChrisZhou666/p/5892212.html

Python的实例方法,类方法,静态方法之间的区别及调用关系相关推荐

  1. 软件测试学习 之 Python 类属性 实例属性、实例方法 类方法 静态方法

    本篇的主要内容是自己的手动操作的学习记录,关于个名词的理论概念参见以下文章: Python 实例方法.类方法.静态方法的区别与作用 作者:蔷薇Nina 出处:博客园 python3类对象.实例对象.类 ...

  2. python 之实例方法、静态方法和类方法

    方法包括:实例方法.静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方法不同. 实例方法:由对象调用,至少有一个self参数:执行实例方法时,自动将调用该方法的对象赋值给self: 类方法: ...

  3. 类方法的实例python_Python Class 的实例方法/类方法/静态方法

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

  4. Python中@staticmethod和@classmethod之间的区别

    @classmethod装饰器 (The @classmethod Decorator) The @classmethod decorator is an inbuilt function decor ...

  5. Python里面None True False之间的区别

    None虽然跟True False一样都是布尔值. 虽然None不表示任何数据,但却具有很重要的作用. 它和False之间的区别还是很大的! 例子: >>> t = None > ...

  6. Python id(obj), ==, is 三者之间的区别

    不多说,直接上代码,看看三者的区别吧. 代码: # 例子 a = [1, 2, 3] b=a; print(a) print(b) print(a is b) print(b is a) print( ...

  7. 实例方法 类方法 静态方法

    1 实例方法 2 类方法 3 静态方法 4.@property 5.区别 1.实例方法 定义:第一个参数必须是实例对象,该参数名一般约定为"self",通过它来传递实例的属性和方法 ...

  8. python中列表字典元组之间的区别_python之字典、元组、列表的区别

    1.列表:专门用于存储一串信息,列表用中括号[]定义,数据之间使用逗号,分隔 list_0=['a','b','c'] 列表的特点: 1)可修改.可增加.可删除 2)列表是有序的,可以遍历 3)可以将 ...

  9. python object和type的关系-Python 的 type 和 object 之间是怎么一种关系?

    class,metaclass,instance,subclass,base 以下成立: 对任意的A,A是instance(推论:任意class也是instance) 对任意A,存在B,使得B是A的c ...

最新文章

  1. 数据统计之日下单用户量统计
  2. python3.6 - threading 多线程编程进阶,线程间并发控制(2)
  3. ue4 导出模型_UE4构建光照后模型变黑,二套UV解决办法
  4. Mac安装和启动memcached
  5. 在计算机中查找notepad,notepad一般在电脑哪里呀
  6. javascript 简易时钟
  7. Spring MVC基础入门
  8. 设计模式(十)—— 装饰者模式
  9. SQL查找是否存在,别再count了
  10. RPM包安装MYSQL
  11. kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driver
  12. 英语preciouscorals贵珊瑚PreciousCorals红珊瑚
  13. 12306 余票检测软件
  14. 行业报告免费下载-干货!68份营销行业报告分享
  15. libuv编译Linux,OS X下 Android NDK 编译 libuv
  16. layui按钮---Layer自定义按钮,关闭弹出层/弹窗;layer自带按钮
  17. matlab 遍历每个像素点,Mat中两种像素遍历方法比较
  18. WIN7下的WCF遇到的问题:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
  19. 你从来没有真正爱过自己
  20. 研发团队的绩效考核(一)

热门文章

  1. [转]【人是怎么废掉的?】
  2. 通向财务自由之路06_适应大环境的交易策略
  3. php redis 封装类,php redis封装类
  4. 加载mySQL数据到内存_【测试验证】数据库加载到内存占用大小
  5. 地产cio揭秘:帆软大商业智能解决方案如何助力地产行业信息化
  6. Adobe Flex Application LifeCycle
  7. python学习——正则表达项目
  8. win8卸载mysql数据库,彻底卸载win8自带的metro应用的方法
  9. 用户体验标准_产品体验问题评级标准——如何给产品体验问题定级?
  10. python网络爬虫学习笔记(十一):Ajax数据爬取