类对象实例计数

练习1:编写一个学生类,产生一堆学生对象, (5分钟)

要求:

  1. 有一个计数器(属性),统计总共实例了多少个对象

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/5/31 8:51
# @File    : Person.py

方法一:类中定义一个list,可以实现计数
# class Person:
#     count = []
#
#     def __init__(self, name, age):
#         self.name = name
#         self.age = age
#         self.count.append(self.name)
#
#
# for i in range(10):
#     i = Person('alex', 10+i)
#     print(i.__dict__)
#
# print(i.count)
# print(len(i.count))

方法二:(错误) 类中定义一个常数,不可以正常计数,

原因是:

深浅拷贝的问题
可变数据类型list和不可变数据类型str的区别


class Person:
    count = 0

    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.count = self.count + 1


for i in range(10):
    i = Person('alex', 10+i)
    print(i.__dict__)

print(i.count)

猜你喜欢

转载自www.cnblogs.com/fmgao-technology/p/9117805.html