• Python笔记16-------类


    1、类的定义

    (1)#括号中要加入父类,如果没有则默认为object,万类之源

      class 类名(父类):

        '类的文档字符串'

        类体代码

      若类什么都不做,则类只作为命名空间,仅作为一个容器。

    (2)类的方法定义

      #方法的第一个参数为self,它为调用对象本身,不一定要实参与它对应。

      #方法只有在类被实例话之后才被调用

      class 类名(object):

        def 方法名(self):

          执行操作

    (3)实例

      对象名=类名()

      对象名.方法名()

    (4)对象的初始化方法__init__(),类似构造函数

      ①当类被调用后,Python将创建实例对象

      ②创建完对象后,Python自动调用第一个方法

      ③实例对象作为方法的第一个参数(self)被传递进去,调用类创建实例对象时的参数都传给__init__()

    (5)类属性

      ①类的数据属性为静态成员。

      ②在类创建后被使用

      ③可以由类中的方法来更新,也可以在主程序中更新。

      ④其仅仅为所定义的类的变量,类属性和实例无关,是所有实例共用的属性。在类中修改类属性需要使用类名。

      class 类名(object):

        类属性名=赋值

        def 方法名(self):

          类名.类属性名=修改值

    例子:

    class roster(object):
        'student and teacher'
        tea_name=[]
        stu_name=[]
        def __init__(self,tea_name,stu_name):
            self.tea_name=tea_name
            self.stu_name=stu_name
        def add(self,add_name):
            self.stu_name.append(add_name)
        def remove(self,rem_name):
            self.stu_name.remove(rem_name)
        def print_all(self):
            print("Student:",self.stu_name)
            print("Teacher:",self.tea_name)
    
    ros=roster(['Niuyun','liyun'],['xiaohong','xiaoming'])
    ros.add('yingying')
    ros.print_all()
    ros.remove('xiaohong')
    ros.print_all()

      

  • 相关阅读:
    用例的粒度问题
    REST和RPC最大区别
    成功的结对编程要点
    我认为技术经理应该做的事儿
    敏捷测试实践
    DDD-围绕业务逻辑编程
    依赖反转原则
    Kafka和Rabbitmq的最大区别
    Cassandra快速两次写入导致顺序不对的问题
    DotNetBar之SupergridControl显示图片,行距自动调整
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/8652096.html
Copyright © 2020-2023  润新知