参考链接: 11周精通python计划(完结)
总结:
# 演示类的使用
# 1.类属性, 类对象的属性, 由所有实例对象所共享,通过(类名.属性)或者(实例名.属性)来访问
# 2.实例属性, 实例对象的属性, 由各实例对象所独享,通过(实例名.属性)来访问
代码实验展示:
# 演示类的使用
# 1.类属性, 类对象的属性, 由所有实例对象所共享
# 2.实例属性, 实例对象的属性, 由各实例对象所独享
class Friend(object):
"""自定义的类用来对现实世界中的朋友进行建模""" # 设置文档字符串docstring
count = 0 # 定义类属性,并赋初值
num_friends = 1000 # 定义类属性,并赋初值
print('开始加载类对象Friend'.center(100,'-')) # 类内的可执行语句会被自动执行,但是一般不这样使用
def __init__(self, name, age):
'''初始化属性name和age'''
self.name = name # 定义实例属性,并赋初值
self.age = age # 定义实例属性,并赋初值
Friend.count += 1 # 通过类型名来访问类属性
Friend.num_friends += 1 # 通过类型名来访问类属性
print('结束加载类对象Friend'.center(100,'-')) # 类内的可执行语句会被自动执行,但是一般不这样使用
print('\n主程序开始...')
wyf = Friend('铁凡', 99)
zh = Friend('昊昊', 98)
lzq = Friend('林麻子',97)
print('访问实例属性'.center(100,'-'))
print(wyf.name,wyf.age,'\t',zh.name,zh.age,'\t',lzq.name,lzq.age)
print()
print('通过类的实例对象来访问类属性'.center(100,'-'))
print(wyf.count,wyf.num_friends)
print(zh.count,zh.num_friends)
print(lzq.count,lzq.num_friends)
print()
print('通过类名来访问类属性'.center(100,'-'))
print(Friend.count,Friend.num_friends)
控制台输出结果:
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
加载个人及系统配置文件用了 928 毫秒。
(base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> conda activate ssd4pytorch1_2_0
(ssd4pytorch1_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> & 'D:\Anaconda3\envs\ssd4pytorch1_2_0\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2021.1.502429796\pythonFiles\lib\python\debugpy\launcher' '64086' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\test_class_1.py'
-------------------------------------------开始加载类对象Friend--------------------------------------------
-------------------------------------------结束加载类对象Friend--------------------------------------------
主程序开始...
-----------------------------------------------访问实例属性-----------------------------------------------
铁凡 99 昊昊 98 林麻子 97
-------------------------------------------通过类的实例对象来访问类属性-------------------------------------------
3 1003
3 1003
3 1003
---------------------------------------------通过类名来访问类属性---------------------------------------------
3 1003
(ssd4pytorch1_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq>