zoukankan      html  css  js  c++  java
  • 面向对象-类与实例化对象

    对象:特征与技能的结合体,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__)

     

    面向对象可扩展性总结

  • 相关阅读:
    POJ1028 Web Navigation【堆栈+模拟】
    UVa10276 HDU1329 ZOJ1239 Hanoi Tower Troubles Again!【递推函数+打表】
    UVALive5369 UVa732 HDU1515 ZOJ1004 Anagrams by Stack【DFS+堆栈】
    HDU5776 sum【前缀和+模除】
    POJ1844 Sum【水题+数学题】
    AOJ0558 Cheese【BFS】
    POJ3009 Curling 2.0【DFS】
    HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】
    HDU1210 Eddy's 洗牌问题【递推函数+模拟】
    Vijos P1571 笨笨的导弹攻击【最长上升子序列+DP】
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8863527.html
Copyright © 2011-2022 走看看