24课 类的成员之字段内容梳理

类成员:

字段:
- 普通字段,保存在对象中,执行只能通过对象访问
- 静态字段,保存在类中, 可以通过对象访问,也可以通过类名.字段访问

方法:
- 普通方法,
- 类方法

class province:
#静态字段,属于类。当有多个需要调用此类时。只会创建一份。减少内存浪费。
conuntry = 'china'
def __init__(self,name):
#普通字段,属于对象
self.name = name
# self.conuntry = 'china'
henan = province('china')
#这里需要用print去打印出来,henan现在为对象,而对象存储在内存中
print(henan)
print(henan.conuntry)
#以下通过类去调用 普通字段是验证会报错的
# print(province.name)
# C:\Python34\python.exe "C:/全栈/day24-python 全栈开发-基础篇/class_test.py"
# Traceback (most recent call last):
# <__main__.province object at 0x0000000004F174A8>
# File "C:/全栈/day24-python 全栈开发-基础篇/class_test.py", line 146, in <module>
# china
# print(province.name)
# AttributeError: type object 'province' has no attribute 'name'
#可通过此法修改
henan.name = 'henan nan'

"""
class Foo:
#普通方法
def bar(self):
print('bar')
#静态方法,并且self不是必须的,也不必通过对象调用。
@staticmethod
def sta():
print('sta')

@staticmethod
def stat(a1,b1):
print(a1,b1)
#类方法,参数默认把self写成cls,会自动传入类名。在调用时不用输入obj=Foo.classmd()
@classmethod
def classmd(cls):
#print(cls)会输出<class '__main__.Foo'>
print(cls)
print('classmd')
posted on 2019-01-29 14:28  Jarrel  阅读(243)  评论(0编辑  收藏  举报