• 面向对象——对象的使用


    对象

    在编程中先定义类,才能声明类的对象。

    class OldBoyStudent:
        school = "oldBoy"

    创建对象

    语法:在类名后加括号,与调用函数写法相同。

    s1 = OldBoyStudent()

    对对象的属性进行增删该查

    print(s1.school)
    #oldBoy

    s1.age = 1
    print(s1.age)
    print(s1.__dict__)#存在类中公共属性的,不会再次存储
    #1
    #{'age': 1}

    s1.school = 'nice'
    print(s1.school)
    print(s1.__dict__)#修改成为对象独有的属性
    #nice
    #{'school': 'nice'}

    删除

    #删除对象的属性,只能删对象独有的属相,不能删除类的属性
    s1.name = 2222
    del s1.name
    print(s1.__dict__)
    #{}

    对于对象查找属性的顺序:先对象自身的对象,后对象类的属性。

    __init__对象初始化函数

    其中self指的是声明时的对象,init函数相当于为其共有属性填写个性化的

    __init__称之为初始化函数 他会在创建对象时自动执行,就是为对象的属性赋初始值。

    创建对象时,

    1.创建一个空对象

    2。执行__init__函数,并且自动传入这个对象

    class Dog:
        def __init__(self,name,age,color,gender):
            print('dog__init__函数生成')#定义对象时执行
            self.name = name#对象私有属性,并非类的对象
            self.age = age
            self.color = color
            self.gender = gender
    
    #对象声明
    d1 = Dog('lulu',2,'yellow','female')
    print(d1.__dict__)
    
    #dog__init__函数生成
    #{'name': 'lulu', 'age': 2, 'color': 'yellow', 'gender': 'female'}

    使用场景

    1.需要为每个对象定制不同的属性值

    2.__init__在创建对象后自动执行

    3.第一个self参数指的是这个这个对象本身不需要手动传值。

  • 相关阅读:
    sqlite设置主键
    sqlite 分页
    Server.Transfer方法在页面间传值
    JS实现背景透明度可变,文字不透明的效果
    css hack 区分浏览器
    Asp.net(c#)实现多线程断点续传
    C# 中的委托和事件
    使用C#的HttpWebRequest访问网站
    相似图片搜索的原理
    asp.net内存溢出问题
  • 原文地址:https://www.cnblogs.com/msj513/p/9831722.html
Copyright © 2020-2023  润新知