zoukankan      html  css  js  c++  java
  • 类对象实例计数

    练习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 #操作的是每个对象自己的属性,不是类的

      #正确写法:操作的类的属性,类每次实例都会加1

      Person.count += 1




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

    print(i.count)

  • 相关阅读:
    es6学习笔记
    vue.js项目目录结构说明
    js 数组操作总结
    js 数组去重方法
    HTTP协议三次握手过程
    MVC与MVVM模式对比
    谱面编辑器
    LL谱面分析和难度标定
    SLP的模块结构
    LL基本姿势
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9117805.html
Copyright © 2011-2022 走看看