Python3 中类的静态方法、普通方法、类方法

Python3 中类的静态方法、普通方法、类方法

静态方法: 用 @staticmethod 装饰的不带 self 参数的方法叫做静态方法,类的静态方法可以没有参数,可以直接使用类名调用。

普通方法: 默认有个self参数,且只能被对象调用。

类方法: 默认有个 cls 参数,可以被类和对象调用,需要加上 @classmethod 装饰器。

 1 class Classname:
 2     @staticmethod
 3     def fun():
 4         print(‘静态方法‘)
 5
 6     @classmethod
 7     def a(cls):
 8         print(‘类方法‘)
 9
10     # 普通方法
11     def b(self):
12         print(‘普通方法‘)
13
14
15
16 Classname.fun()
17 Classname.a()
18
19
20 C = Classname()
21 C.fun()
22 C.a()
23 C.b()

原文地址:https://www.cnblogs.com/wind666/p/11668126.html

时间: 2024-08-30 03:01:27

Python3 中类的静态方法、普通方法、类方法的相关文章

Python之路 - 属性方法,类方法,静态方法

本章内容 属性方法 类方法 静态方法 属性方法 属性方法就是通过使用装饰器 @property , 将一个方法变成一个静态属性 , 于是我们就可以通过访问属性 , 来或得一个方法的返回值 1 from urllib.request import urlopen 2 class Web_page: 3 def __init__(self, url): 4 self.url = url 5 self.__content = None 6 # 将content方法变成属性 7 @property 8

Python中类的属性、方法及内置方法

1.类的属性 成员变量 对象的创建 创建对象的过程称之为实例化,当一个对象被创建后,包含三个方面的特性对象聚丙属性和方法, 句柄用于区分不同的对象, 对象的属性和方法,与类中的成员变量和成员函数对应, obj = MyClass()创建类的一个实例,扩号对象,通过对象来调用方法和属性 类的属性 类的属性按使用范围分为公有属性和私有属性类的属性范围,取决于属性的名称, **共有属性**---在内中和内外都能够调用的属性 **私有属性**---不能在内外贝类以外函数调用 定义方式:以"__"

ExtJS学习-------Ext.define的别名和备用名,两种定义静态方法的方法,混入属性和其他属性

(1)Ext.define起别名和备用名 Ext.onReady(function(){ Ext.define('User',{ config:{ name:'张三', age:23 }, //使用别名 alias:'alias_user', //使用备用名 alternateClassName:'alternateClassName_user', constructor:function(config){//构造器 var me=this; me.initConfig(config); } }

JavaScript面向对象-静态方法-私有方法-公有方法-特权方法,学习

var baseClass= function(){ function show(){//私有方法 alert("访问私有方法"); } function showName(){ alert(this.name); } this.showw = function (){//特权方法 showName(); } } //静态方法 baseClass.showStatic = function(){ alert("访问静态方法"); } //公有方法 baseClass

python2和python3比较好的共存方法

文章根据网络资料编写,只为个人学习使用.青山... ---------------------------------------------------- 由于工作学习的需求,大家都想同时安装python2,python3共存,有有些方法是将另一个python版本改名,如见python.exe改为python3.exe,但是这样使用上由于两者的环境库一样,在安装升级插件时会有这样那样的问题,现在就安装Anaconda2和Anaconda3并理想共 存,相关描述如下: 楔子: Anaconda是

Java中类,对象,方法的内存分配

Java中类,对象,方法的内存分配 以下针对引用数据类型: 在内存中,类是静态的概念,它存在于内存中的CodeSegment中. 当我们使用new关键字生成对象时,JVM根据类的代码,去堆内存中开辟一块控件,存放该对象,该对象拥有一些属性,拥有一些方法.但是同一个类的对象和对象之间并不是没有联系的,看下面的例子: 1 class Student{ 2 static String schoolName; 3 String name; 4 int age; 5 6 void speak(String

Python3远程监控程序的实现方法 - python

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 简述 一开始觉得这个很有趣,然后就想来做一个来玩一下 使用语言: Python3 使用工具:opencv视频监控 + socket数据传输技术 程序检验: 这里我考虑了一下,发现还是没有必要实现封装成可执行文件.还是直接就放代码吧.(先放代码,以后再做解释) 本程序,经过本人修改,保证可以使用 使用要求: Sender代码必须要在一台有摄像头的电脑上运行起来.然后把数据编码,压缩之后,再传给另外一个电脑 Reciev

python3学习笔记 静态方法,类方法,属性方法

静态方法@statitmetod 只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性 类方法@classmethed 只能访问类变量,不能访问实例变量 属性方法@property 把一个方法变成一个静态属性 删除 @del.deleter def eat(self): del self.__food 原文地址:https://www.cnblogs.com/zsypython/p/8884792.html

静态方法与实例方法,类方法与对象方法

最近看资料经常看到上面静态方法之类的说法,仔细查阅资料后总结解释如下: 最最简便的方法就是: 如果方法名字前面的单个减号(-)表明该方法是一个实例方法,也可以称呼为对象方法 如果方法名字前面是一个加号(+),则表明该方法是一个静态(static)方法,也可以称呼为类方法 再则关于静态方法与类方法是一个意思,只是很多人对于这个方法的称呼不一样罢了. 实现部分: 注意:下面的 -(id)init即为构造函数.对应的,还有一个-(void)dealloc方法用来释放资源(类似于析构函数或c#中的dis