Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
作者:houyanhua1 发布时间:2023-09-16 04:58:30
标签:Python,类方法,实例方法,静态方法
本文实例讲述了Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)。分享给大家供大家参考,具体如下:
demo.py(类方法,@classmethod):
class Tool(object):
# 使用赋值语句定义类属性,记录所有实例化工具对象的数量
count = 0
# @classmethod 定义类方法. 第一个参数是cls (cls用于访问类属性和类方法,不能访问实例属性/方法)
@classmethod
def show_tool_count(cls):
# 不能访问实例属性
print("工具对象的数量 %d" % cls.count) # cls.类属性名 访问类属性(类方法中)
def __init__(self, name):
self.name = name # 实例属性
# 类名.类属性名 访问类属性(实例方法中)
Tool.count += 1
# 实例化工具对象
tool1 = Tool("斧头") # tool1.__class__属性指向类对象。 tool1.__class__.count实例对象访问类属性
tool2 = Tool("榔头")
# 类名.类方法 调用类方法
Tool.show_tool_count()
运行结果:
工具对象的数量 2
demo.py(静态方法,@staticmethod):
class Dog(object):
# @staticmethod 定义静态方法;静态方法内部不能访问类属性/方法和实例属性/方法。不需要传默认参数。
# Python中的静态方法与在类外部定义的普通函数作用相同,只是表明该函数仅供该类使用。
@staticmethod
def run():
# 不能访问实例属性/类属性
print("小狗要跑...")
# 类名.静态方法名 调用静态方法,不需要创建对象 (也可以通过实例对象调用)
Dog.run()
运行结果:
小狗要跑...
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/houyanhua1/article/details/84103363


猜你喜欢
- 如下所示: m_start =date +' 09:00' m_end =date +' 13:00'rsv
- 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了。 这样,对于有些视频学习
- 什么是pdb不知道大家在用Python写代码出现报错时是怎样调试的,从报错提示定位回去一步一步check每一行?如果没有IDE或者命令行写代
- NumPy Python数值计算重要库在图像处理领域,NumPy可以帮助我们高效地对图像进行处理。通过使用NumPy
- 一·逻辑运算符优先级:not>and>or符号名称描述and逻辑与运算当and的两边同时满足条件时,结果为
- 一、单个文件打包1.1 简单打包例如现在有一个main.py文件内容如下import osprint("hello world&q
- TihuanWords.txt文档格式注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词。年休假 年假 年休究竟 到底回家场景 我
- 例如输入:['adam', 'LISA', 'barT'],输出:['Adam
- 前面的话一般的程序语言,表示空的只有null,但javascript的设计者Brendan Eich却设计了一个undefined,这无疑增
- 格式:Download.asp?FileName=要下载的文件名 代码如下:Dim Stream Dim Co
- 通过CMD命令行修改数据库表的一个字段的值,实现连接,访问。第一步、找到MYSQL软件安装所在的bin目录;(1)cd\当前目录(2)指定M
- 前言:Python基础知识+结构+数据类型Python基础学习列表+元组+字典+集合今天的是Python基础学习的第三篇了,前面的知识点给大
- 在我们的网站建设中,为网站打造一个契合网站主题的个性化标志则是必需的,这直接关系到能否成功地塑造网站的品牌。这从某些角度看仍在网站推广的范畴
- 1. 将下载好的字体放到本地目录分别是两种字体放到项目的 assets 目录中2. 引入字体文件首先创建一个 styles 文件
- 描述:输入一个大于0的整数n,输出1到n的全排列:例如:n=3,输出[[3, 2, 1], [2, 3, 1], [2, 1, 3], [3
- 什么是闭包闭包(Closure)是一种函数,它被定义在另一个函数的内部,并且可以访问该函数作用域中的变量,即使该函数已经执行完毕并被销毁。换
- 首先,我的索引结构是酱紫的。
- 拖拽功能主要是用在让用户做一些自定义的动作,比如拖动排序,弹出框拖动移动等等拖拽的流程动作1、鼠标按下 会触发onmousedown事件2、
- 一、概述索引太少,查询效率低;索引太多程序性能受到影响,索引的使用应该贴合实际情况。Innodb 支持的索引包括:全文检索,使用倒排索引哈希
- 话不多说,请看代码------------------------------------------作者:张欣宇-----时间:2013-