python中的类方法、静态方法、对象方法
注:以下都是以公有为前提,私有方法只能在类内部调用,不需多讲。
1、对象方法
这种方法都有一个默认参数:self 这代表实例的这个对象
def __init__(self):
print("初始化对象")
类是不能直接调用对象方法:
class User(object):
name = 'zs'
def __init__(self):
print("初始化对象")
User.__init__()
这样调用抛出一个错误:TypeError: __init__() missing 1 required positional argument: 'self'
2、类方法
类方法顾名思义,类的方法,可以直接用类名进行调用;也可以通过类实例化的对象进行调用
class User(object):
name = 'zs'
__pass = 1223
def __init__(self):
print("初始化对象") @classmethod #修饰器
def changeName1(cls):
cls.name = 'ls'
print("类的方法%s"%(cls.__pass))
changeName1就是类方法,前面需要注明修饰器:@classmethod ,并且有一个默认参数cls 也就是这个类本身。
3、静态方法
其实静态方法可以理解为一种特殊的类方法,它跟普通类方法就两点区别:
(1)修饰器不一样
(2)没有默认参数
其余的跟类方法一模一样
class User(object):
name = 'zs'
__pass = 1223
def __init__(self):
print("初始化对象") @classmethod #修饰器
def changeName1(cls):
cls.name = 'ls'
print("类的方法%s"%(cls.__pass))
@staticmethod
def changeName2():
User.name = 'ww'
print("静态方法")
u = User()
u.changeName1()
User.changeName1()
u.changeName2()
User.changeName2()
总结:一个类实例化的对象可以调用类里面所有的公共方法,类只能调用类方法和静态方法(如果是私有方法,只能再类内部调用。)
python中的类方法、静态方法、对象方法的更多相关文章
- OC基础--OC中的类方法和对象方法
PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...
- JavaScript中的类方法、对象方法、原型方法
类方法:也叫函数方法,在JavaScript中函数也是一个对象,所以可以为函数添加属性以及方法: 对象方法:包括构造函数中的方法以及其原型上面的方法: 原型方法:一般用于对象实例共享,在原型上面添加该 ...
- python中实例方法,类方法,静态方法简单理解
按照字面名称来理解的话: 实例方法就是实例化对象的方法,绑定在实例对象上 类方法就是类自己的方法,不需要实例化对象,类自己就是对象,直接绑定在类上 静态方法就是普通的函数,函数作为对象,不过是封装在类 ...
- JavaScript 中的类方法,对象方法,Prototype方法
<script type="text/javascript"> function baseClass() { this.showMsg = function() { a ...
- 【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)
在java.c#等高级语言中我们用static来定义静态方法和静态变量,那么在python中如何定义静态方法和静态变量呢. python提供了@classmethod和@staticmethod来定义 ...
- python中的类,对象,方法,属性等介绍
注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...
- JS中的phototype JS的三种方法(类方法、对象方法、原型方法)
JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- OC的类方法、对象方法和函数
OC语言中的方法和函数是有区别的:类内部叫方法,单独定义的叫函数,定义的格式也不同 类方法:+ (void) 方法名.对象方法:- (void) 方法名.函数:void 函数名(参数列表) #impo ...
- ios开发 oc 的类方法与对象方法
--------开始前先申明一下:小编为了让大家看出效果,在编码中命名方式会又些不规范. 首先我们先来了解一下什么是类方法与对象方法. 对象方法: 对象是由“-”开头.比如:-(void)Runner ...
随机推荐
- Linux文件权限查看及修改命令chmod,chown
查看权限 Linux文件访问权限分为可读,可写和可执行三种. 可用ls -l命令查看,例: ls -l或者 ll 显示为 -r--r--r--. 1 root root 21 Jan 5 23:02 ...
- c# 调用外包程序 等待处理完成结果
string root = @"J:\yaoqianshu"; string pythonPath = "解压缩拷贝启动动画测试(新).py"; string ...
- 06 Python字符编码与文件处理
python垃圾回收机制: python中的垃圾回收机制是以引用计数为主,分代收集为辅,引用计数的缺陷是循环引用的问题,一个对象的引用数为0 ,那么这个对象就会被python虚拟机回收内存 字符编码 ...
- BurpSuite安装和配置
Burp Suite是什么 Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一 ...
- 排序:快速排序Quick Sort
原理,通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序 ...
- PHP(十)字符串
- 团体程序设计天梯赛L1-018 大笨钟 2017-03-22 17:29 79人阅读 评论(0) 收藏
L1-018. 大笨钟 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 微博上有个自称"大笨钟V"的家伙,每 ...
- Codeforces768B Code For 1 2017-02-21 22:17 95人阅读 评论(0) 收藏
B. Code For 1 time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- B-spline Curves 学习之B样条曲线性质(5)
B-spline Curves: Important Properties 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关的翻译学习. ...
- java程序练习
数组求和作业 开发环境:java 工具:eclipse 两种数据类型excel和csv 在同学建议下,我选择用csv文件打开,这就引来了第一个问题,在java中如何调用csv文件.以下是我百度的结果 ...