(实例变量是类的成员变量对吗)(实例变量和类变量的区别)

类变量

1、语法:在类中,方法外面定义变量

class类名:

类变量=表达式

2、调用:类名.类变量

不建意通过对象访问类变量

说明:存储在类中只有一份被所有对象共享

4、作用:描述所有对象的共享数据

类方法;

语法

定义:@classmethod

Def yy ifc qk (cls,参数列表):

方法体

调用:类名.方法名(参数列表)

不建议通过对象访问类方法

说明:

----至少有一个形参,有一个形参用于绑定类,一般命名为cls

----使用@classmethod修饰的目的是调用类方法时可以隐式传递类

----类方法中不能访问实例成员,实例方法中可以访问类成员。

3、作用:操作类变量

class ICBC:

'''

工商银行

'''

#因为类方法没有对象地址所以不能访问实例成员

zong_money=100000#类变量,总行钱数

@classmethod

def print_mony(cls):

#print("总行的存款余额为:%d"%ICBC.zong_money)

print("总行的存款余额为:%d"%cls.zong_money)

#cls与ICBC是同一变量

def __init__(self,name,money):

self.name=name

self.money=money

ICBC.zong_money-=money

ic01=ICBC("工商天津分行",10000)

ic02=ICBC("工商上海分行",10000)

print("总行作款为",ICBC.zong_money)

ICBC.print_mony()

#定义一个学生类,创建三个学生对象。

#可以通过类变量类方法统计对象个数。

class Sduiduns:

counm=0

@classmethod

def print(cls):

#print("一共有%d名学生" % Sduiduns.counm)

print("一共有%d名学生" % cls.counm)#Stuiduns和cls指向同一个内存地址。

def __init__(self,name,nianling):

self.name=name

self.nianling=nianling

Sduiduns.counm+=1

list01=[Sduiduns("张三",21),

Sduiduns("李四",32),

Sduiduns("王五",27),

]

Sduiduns.print()

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者空山画雨所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(实例变量是类的成员变量对吗)(实例变量和类变量的区别)
本文链接:https://www.51qsb.cn/article/m8eq5.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-12-31
下一篇2022-12-31

你可能还想知道

发表回复

登录后才能评论