python中对象的方法_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()

总结:一个类实例化的对象可以调用类里面所有的公共方法,类只能调用类方法和静态方法(如果是私有方法,只能再类内部调用。)

OC基础--OC中的类方法和对象方法

PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...

JavaScript中的类方法、对象方法、原型方法

类方法:也叫函数方法,在JavaScript中函数也是一个对象,所以可以为函数添加属性以及方法: 对象方法:包括构造函数中的方法以及其原型上面的方法: 原型方法:一般用于对象实例共享,在原型上面添加该 ...

python中实例方法,类方法,静态方法简单理解

按照字面名称来理解的话: 实例方法就是实例化对象的方法,绑定在实例对象上 类方法就是类自己的方法,不需要实例化对象,类自己就是对象,直接绑定在类上 静态方法就是普通的函数,函数作为对象,不过是封装在类 ...

JavaScript 中的类方法,对象方法,Prototype方法

【开发者笔记】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 ...

随机推荐

Java设计模式1——策略模式(Strategy Pattern)

最近觅得一本好书<您的设计模式>,读完两章后就能断言,一定是一头极品屌丝写的,而且是专写给开发屌丝男的智慧枕边书,小女子就委屈一下,勉强看看,人笨,谁让他写得这么通俗易懂呢!为了加深理解, ...

Android开发常用的一些第三方网站

聚合数据-免费数据调用 https://www.juhe.cn/ 有赞- 免费的微商城 http://youzan.com/ 秀米微信图文编辑器 http://xiumi.us/ 禅道项目管理软件 h ...

C&plus;&plus;拾遗(六)函数相关&lpar;1&rpar;

返回值 C++规定返回值不能是 数组.但可以是其它任何类型(包括结构体和对象). 通常,函数将返回值复制到指定的CPU寄存器或内存单元中,然后调用函数调用该内存单元的值. 函数原型 参数列表中可以不包 ...

UNIX系统接口

UNIX系统接口 8.1 文件描述符 UNIX操作系统中,所有的外围设备(包括键盘和显示器)都被看作是文件系统中的文件.系统通过文件描述符来标识文件:标准输入为0,标准输出为1,标准错误为2. 当程序 ...

报错django&period;db&period;migrations&period;exceptions&period;InconsistentMigrationHistory

Pycharm强大的功能总是让我很是着迷,比如它的makemigrations 和 migrate. 然而某一次,当我再次敲下这熟悉的命令时,它报错了.... Traceback (most rece ...

python解决四舍五入问题

小数问题是计算机编程中大部分语言都会遇到的问题,尤其是在内容中涉及到评分.金额计算等等,本人一般在解决需求中固定小数位的数字计算时,都会先将其放大整10的倍数至整数,然后计算.存储,只有在显示的时候再 ...

SGD训练时收敛速度的变化研究。

一个典型的SGD过程中,一个epoch内的一批样本的平均梯度与梯度方差,在下图中得到了展示. 无论什么样的网络结构,无论是哪一层网络的梯度,大体上都遵循下面这样的规律: 高信号/噪音比一段时间之后,信 ...

用一条sql取得第10到第20条的记录-Mssql数据库

因为id可能不是连续的,所以不能用取得10

robot framework 安装

一.安装 Python 2.7 pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含) Robot Framework (此工具本身) wxPyt ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值