类与对象
什么是类
类就是一类对象的相同特性和相同技能的放在一起
什么是对象
python中一切皆对象,对象就是单个存在的事物,拥有自己的特性和行为
现实世界里是现有对象再有类的
但是python中我们先定义类再建立对象
编程一般分为两种
1.面向过程编程
2.面向对象编程
面向过程编程可以把复杂的程序流程化,每个过程变得清晰明了
但是它的拓展性很差
面向对象编程就是在对象的属性基础上进行编程,就像你作为佛祖创造世界一样。它的拓展性很好,想要建几个对象就建几个,但是他会让编程复杂化,过程不清晰明了
因此我们最好两种编程相互交替使用
对于类的名字,我们一般使用驼峰体,而不是一般使用的'_'
class ultraman:
planet='The Light'
t1=ultraman()
t1.name='Zero'
t1.age=18
增删改查
因为class也是对象,因此也可以对它的属性进行修改
增加属性
对象变量名称.属性名称=属性值
删除属性
del对象的变量名称.属性名称
修改属性
对象变量名称.属性名称=属性值
查看属性
print(对象.__dict__
)
查看类
print(对象.__class__
)
__init__
方法
本质上是一个函数,当实例化对象的时候,它会自动执行初始化方法
class dog:
def __init__(self,name,age):
self.name=name
self.age=age
dog1=dog('shiba_inu',1)
dog2=dog('安德罗妮',2)
对象与类的查找顺序
先查询自己内部再查外部
class dog:
def __init__(self,name,age):
self.name=name
self.age=age
SKILL='Bark!'#2.如果这里也注释了就报错
dog1=dog('shiba_inu',1)
dog1.SKILL='Eat Shit'#1.这里如果注释了打印就是Bark!没注释就是Eat Shit
print(dog1.SKILL)
对象的绑定方法
在类的方法中,默认的都是对象绑定法。
在使用对象调用改函数时会自动传入对象自己作为第一个参数
class Student:
def __init__(self,name):
self.name = name
def say_hi(self):# self就是对象,绑定在该函数里
print("hello my name is %s" % self.name)