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

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

 

面向对象可扩展性总结

原文地址:https://www.cnblogs.com/yaya625202/p/8863527.html