python 实例方法、类方法和静态方法
2024-10-06 18:25:51
#!/usr/bin/env python3.6
#-*- coding:utf-8 -*-
#
class Person(object):
city = 'Beijing' def __init__(self,name):
self.name = name
self.age =28 # 实例方法
def showInfo(self):
info = "name: %s, age: %s" % (self.name, self.age)
print(info) # 类方法
@classmethod
def sayHi(cls):
print('hi, i am in %s' % cls.city) # 静态方法
@staticmethod
def sayBye():
print('byebye')
1、实例方法
实例方法就是普通的对象方法,只能通过对象实例来调用,调用时参数self会自动关联到对象实例。
2、类方法
需要指定修饰器@classmethod,类方法可以通过类直接调用,也可以通过对象直接调用,但参数cls将自动关联到类。
3、静态方法
需要指定修饰器@staticmethod,没有参数self,可以直接通过类来调用;是个独立的函数,仅仅是存在于类的名称空间中,便于使用和维护。
最新文章
- CP/IP,SPDY,WebSocket 三者之间的关系
- discuz问题综合
- 【BJG吐槽汇】第一期 - 警惕亚马逊莫名自动扣款!千万不要进了它的坑!
- 蜂鸟A20开发板刷 cubietruck 的 SD 卡固件
- 错误:Warning: Attempt to present <;UIAlertController: 0x7fd192806e20>; on <;ViewController: 0x7fd1928048d0>; whose view is not in the window hierarchy!
- 循序渐进之Spring AOP(3) - 配置代理
- java日期转化
- 【Android 应用开发】BluetoothClass详解
- TIME_WAIT 太多的解决办法
- Confluence 6 Oracle 驱动输入你的数据库细节
- MySQL Backup mydumper
- Jquery ajax 表单.serialize() 和serializeArray()序列化$.param()
- FastDFS整合nginx后,nginx一直报错
- ProgressDemo
- android ------- TCP/IP
- Spring Boot 数据访问集成 MyBatis 与事物配置
- The D Programming Language 书评
- CVE-2010-2883
- Python: 读文件,写文件
- TCP BBR - 一键开启脚本