iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中定义类的方法有哪些
  • 884
分享到

python中定义类的方法有哪些

2023-06-21 21:06:27 884人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python中定义类的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中定义类的方法有哪些”吧!python中的3种定义类方法:普通方法类方法(@claSS

本篇内容主要讲解“python中定义类的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python中定义类的方法有哪些”吧!

python中的3种定义类方法:

  • 普通方法

  • 类方法(@claSSMethod)

  • 类方法(@classmethod)

1、普通方法

创建普通的方法的方式有两种(class A() & class B()).

class A():    def __init__(self, name, age):        self.name = name        self.age = age    def get_name(self):        print('my name is', self.name)    def get_age(self):        print(f'i am {self.age} years old')class B():    def get_name(self, name):        print('my name is', name)    def get_age(self, age):        print(f'i am {age} years old')if __name__ == '__main__':    a = A('tom',19)    a.get_name()  # my name is tom    a.get_age() # i am 19 years old    b = B()    b.get_name('tom')  # my name is tom    b.get_age(19) # i am 19 years old

class A() 中, __init__()是一个特殊的方法,相当于对A进行初始化,__init__ 中的self是对象A本身,nameage是它们的形参。

  每次调用方法之前需要对类进行实例化

2、类方法

@classmethod不需要self来表示自身了,而是用了cls来代替。

此时不用再进行实例化了。直接 类名.函数名 进行调用。

#Python学习交流群:725638078class C():    @classmethod    def get_name(cls, name):        print(cls)  # <class '__main__.C'>        print('my name is %s' % name)    @classmethod    def get_age(cls, age):        print(f'i am %s years old' % age)if __name__ == '__main__':    C.get_name('tom')  # my name is tom    C.get_age(19) # i am 19 years old

3、静态方法

@staticmethod也是通过 类名.函数名 的方式进行调用

静态方法不需要表示自身对象的self或者cls作为参数,跟直接使用函数是一样的。

class D():    @staticmethod    def get_name(name):        print('my name is %s' % name)    @staticmethod    def get_age(age):        print(f'i am %s years old' % age) if __name__ == '__main__':    D.get_name('tom')  # my name is tom    D.get_age(19) # i am 19 years old

到此,相信大家对“python中定义类的方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python中定义类的方法有哪些

本文链接: https://www.lsjlt.com/news/300675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作