• 面向对象-类与实例化对象


    对象:特征与技能的结合体,python中一切皆对象,在python3中统一了类与类型的概念

    :一系列特征与技能相似的对象

    注:站在不同角度,分类不一样

    在现实世界中:一定先有对象,再有类

    在程序中:一定需先有类,再有对象

    类的通途:

    1. 对属性的操作,增删改查
    2. 实例化产生一个一个的对象

    定义类并实例化对象:

    #定义类
    class LuffyStudent:
            school='luffycity'#数据属性
            def learn(self):#函数属性
                print('is learning')
            def eat(self):#函数属性
                print('is eating')
            def sleep(self):#函数属性
                print('is sleeping')
    #实例化对象
    stu1=LuffyStudent()
    stu2=LuffyStudent()
    stu3=LuffyStudent()
    print(stu1)
    print(stu2)
    print(stu3)

    类和对象的使用:

    类在定义的时候就会执行,就会存放到名称空间中去。访问方式通过'.'号

    查看类属性

    #定义类
    class LuffyStudent:
            school='luffycity'
            def learn(self):
                print('is learning')
            def eat(self):
                print('is eating')
            def sleep(self):
                print('is sleeping')
    print(LuffyStudent.__dict__)

    通过.查询类属性

    print(LuffyStudent.school)

    类增加属性

    #类增加属性
    LuffyStudent.county='China'
    print(LuffyStudent.county)

    类删除属性

    #删除属性
    del LuffyStudent.county
    print(LuffyStudent.county)

    类修改属性

    #修改属性
    print(LuffyStudent.school)
    LuffyStudent.school='LuffycitySchool'
    print(LuffyStudent.school)

    __init__()

    双下划线是类特的特殊方法

    __init__方法用来为对象定制对象自己的独有特征,在创建对象实例化的时候会执行

    #定义类
    class LuffyStudent:
            school='luffycity'#数据属性
            def __init__(self,name,sex,age):
                    self.Name=name
                    self.Sex=sex
                    self.Age=age
            def learn(self):#函数属性
                print('is learning')
            def eat(self):#函数属性
                print('is eating')
            def sleep(self):#函数属性
                print('is sleeping')
                
    #实例化对象
    stu1=LuffyStudent("王三丰","",18)

     __init__操作方式:stu1=LuffyStudent.__init__(stu1,"王三丰","女",18)

    查询对象属性

    #查询对象属性
    print(stu1.Name)
    print(stu1.Sex)
    print(stu1.Age)

    修改对象属性

    #修改对象属性
    stu1.Name="李三丰"
    print(stu1.Name)

     

    删除对象属性

    #删除对象属性
    del stu1.Name
    print(stu1.__dict__)

     

    增加对象属性

    #增加
    stu1.class_name='python开发'
    print(stu1.__dict__)

     

    面向对象可扩展性总结

  • 相关阅读:
    结构层HTML + 表现层CSS
    移动端:项目实战
    移动端:开发技巧
    两个对象数组,把其中相同的name的before相加,不同的对象添加到数组里
    js中遍历数组和遍历对象
    css学习笔记一
    Angular2父子组件数据传递之@ViewChild获取子组件详解
    css知识点总结
    js中的apply,call,arguments,callee,caller详解
    javascript中的排序
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8863527.html
Copyright © 2020-2023  润新知