python面向对象
类是具有一系列相同特征和行为的事物的统称,抽象的,不能直接使用的
属性是特征,方法是行为
类的三要素:类名,属性,方法
类相当于图纸(模板),负责创建具体事物
类只有一个,对象可以有多个
对象是由类创建出来的一个具体存在,可以直接使用
类中定义了哪些属性和方法,由该类创建出来的对象中就有哪些属性和方法
在开发中,先有类,才有对象
def demo():
"""这是一个试运行函数"""
print("hello python")
print(dir(demo))
print(demo.__doc__)
class Cat:
def eat(self):
print("小猫爱吃鱼")
def drink(self):
print("小猫爱喝水")
# 创建猫对象
tom=Cat()
# 对象来调用方法,在对象后面加点
tom.drink()
tom.eat()
class Cat:
def eat(self):
print("小猫爱吃鱼")
def drink(self):
print("小猫爱喝水")
# 创建猫对象
tom=Cat()
#可以使用 .属性名 利用赋值来增加属性
tom.name="Tom"
class Cat:
def eat(self):
# 哪一个对象调用的方法,self就是该对象的引用
print("%s爱吃鱼" %self.name)
def drink(self):
print("小猫爱喝水")
# 创建猫对象
tom=Cat()
#可以使用 .属性名 利用赋值来增加属性
tom.name="Tom"
# 对象来调用方法,在对象后面加点
tom.drink()
tom.eat()
# 再创建一个猫对象
lazy_cat=Cat()
lazy_cat.name="大懒猫"
lazy_cat.eat()
lazy_cat.drink()
class Cat:
def __init__(self):
print("这是一个初始化方法")
# 使用类名创建对象时,会自动调用初始化方法 __init__
tom=Cat()
class Cat:
def __init__(self,new_name):
print("这是一个初始化方法")
self.name=new_name
# self.属性名=属性初始值
# self.name="Tom"
def __del__(self):
print("%s我去了" %self.name)
# str方法必须返回一个字符串
def __str__(self):
return "我是小猫【%s】" %self.name
# 使用类名创建对象时,会自动调用初始化方法 __init__
tom=Cat("Tom")
print(tom)