当前位置: 首页 > news >正文

工业网站建设/深圳营销型网站

工业网站建设,深圳营销型网站,中文wordpress,泗泾做网站公司1.类方法类方法是从属于"类对象"的方法。类对象可以通过装饰器classmethod来定义,具体格式如下:classmethoddef 类方法名(cls [, 形参列表]):方法体要点如下:classmethod必须位于方法的上面一行第一个参数cls(class的缩写&#xff…

1.类方法

类方法是从属于"类对象"的方法。类对象可以通过装饰器@classmethod来定义,具体格式如下:

@classmethod

def 类方法名(cls [, 形参列表]):

方法体

要点如下:

@classmethod必须位于方法的上面一行

第一个参数cls(class的缩写,和前面笔记介绍的self类似),必须要有,代指"类对象"本身。

调用类方法格式:类名.类方法名(参数列表)。参数列表中不需要也不能给cls参数进行传值,解释器会自动赋值。

类方法中可以访问实例属性和实例方法会导致错误,因为有类不一定有对象。

子类继承父类方法时,传入cls是自身对象,而非父类对象。(后面的笔记会有介绍)

代码示例:

class Student:

count = 0 # 类属性

"""定义方法"""

@classmethod

def print_count(cls):

"""cls参数代表类对象"""

print(Student.count)

"""调用类方法"""

print("调用时,不传递cls参数")

Student.print_count()

运行结果:

调用时,不传递cls参数

0

2.静态方法

在python中,允许定义于”类对象“无关的方法,称为"静态方法"。

"静态方法"和在模块中定义的普通方法没有什么区别,只不过"静态方法"放到了"类的名字变量空间",需要通过类调用。

静态方法通过装饰器@staticmethod来定义,格式如下:

@staticmethod

def 静态方法名([形参列表]):

方法体

要点如下:

@staticmethod必须位于方法上面一行

调用静态方法格式:类名.静态方法名(参数列表)

静态方法中访问实例属性和实例方法会导致错误

代码示例:

class Student:

count = 0 # 类属性

@staticmethod

def add(a, b):

"""与类无关的静态方法"""

"""因为静态方法从属于类,所以是可以操作类属性和类方法"""

print("{0}+{1}={2}".format(a, b, a+b))

return a + b

# 调用静态方法

Student.add(20, 30)

运行结果:

20+30=50

res=50

3.实例方法/类方法/静态方法的区别

class MyClass:

# 类属性

class_attr = 0

def __init__(self, obj_attr):

self.obj_attr = obj_attr

def instance_method(self):

return "instance method called", self

@classmethod

def class_method(cls):

return "class method called", cls

@staticmethod

def static_method():

return "static method called"

print("调用实例方法")

obj1 = MyClass("obj_attr1")

print(obj1.instance_method())

print("--" * 20)

print("调用类方法")

print(MyClass.class_method())

print("--" * 20)

print("调用静态方法")

print(MyClass.static_method())

运行结果:

调用实例方法

('instance method called', <__main__.myclass object at>)

----------------------------------------

调用类方法

('class method called', )

----------------------------------------

调用静态方法

static method called

注意: 以下讨论的属性、方法均指公开的类型,非私有的。

实例方法:

能读取、修改实例属性

能调用实例方法

能读取、修改类属性

能调用类方法

能调用类静态方法

调用方式:对象名.实例方法名(参数列表),编译器自动传递self参数

类方法:

不能读取、修改实例属性

不能用实例方法

能读取、修改类属性

能调用类方法

能调用类静态方法

调用方式:类名.类方法名(参数列表),编译器自动传递cls参数

静态方法:

不能读取、修改实例属性

不能用实例方法

能读取、修改类属性

能调用类方法

能调用类静态方法

调用方式: 类名.静态方法名(参数列表),不需要cls参数

类方法和静态方法,功能非常相近,可以相互替代, 但是从规范的角度来说,请按照实例方法操作对象,类方法操作类,静态方法为和类无关的通用方法。

以上就是浅谈python 类方法/静态方法的详细内容,更多关于类方法/静态方法的资料请关注我们其它相关文章!

本文标题: 浅谈python 类方法/静态方法

本文地址: http://www.cppcns.com/jiaoben/python/346890.html

http://www.lbrq.cn/news/1415215.html

相关文章:

  • win2008 r2 搭建网站/长沙竞价优化
  • 网站开发中都引用什么文献/短视频广告投放平台
  • 青岛做公司网站/搜索引擎优化排名
  • 做详情页生成代码的网站/常见的网络营销平台有哪些
  • 找公司做网站注意事项/制作网站要花多少钱
  • 品牌网站建设报价方案/网站404页面怎么做
  • 韩语网站建设注意事项/四大营销策略
  • 做外贸需要浏览外国网站/深圳网络推广建站
  • 蓝色管理系统网站模版/自建网站流程
  • 网站优化排名易下拉技术/中视频自媒体平台注册官网
  • 南京工商注册/宁波seo公司排名榜
  • 新网网站模板/seo关键词排行优化教程
  • 佛山免费网站制作/宁波seo教程网
  • 商城软件开发/温州seo排名优化
  • 专业网站建设集团/seo优化推广教程
  • 12306网站是哪家公司做开发的/域名查询 ip
  • 团购网站大全/廊坊seo排名收费
  • 好看的模板/武汉seo关键词优化
  • 广州网站建设报价单/企业信息查询
  • 网站开发可以做什么/北京seo邢云涛
  • 通过身份证号查房产/网站seo公司
  • 简单的公司网站系统/秦洁婷seo博客
  • 天翼云主机 网站服务器/百度手机怎么刷排名多少钱
  • 浙江省建设厅官方网站/seo排名软件免费
  • 做一个动态网站多少钱/网站如何才能被百度收录
  • 分销/郑州seo优化外包公司
  • 江阴网络公司做网站/百度站长工具使用方法
  • 青海网站建设公司/网页设计制作网站html代码大全
  • ppt模板怎么做 下载网站/新闻稿范文300字
  • 网站logo怎么改/网站推广要点
  • LeetCode100 -- Day1
  • 如何在Windows系统中更改用户名(中文转英文全流程)
  • 中级统计师-会计学基础知识-第五章 财务报告
  • 【FreeRTOS】刨根问底6: 应该如何防止任务栈溢出?
  • C#读取文件, IO 类属性及使用示例
  • 美国服务器环境下Windows容器工作负载基于指标的自动扩缩