核心概念:类,实例,属性,方法
类:模板,如人类
实例:用模板造出的对象,如貂蝉
属性:是特征
方法:是行为
属性是静态的,方法是动态的,属性是描述有什么特征,方法是说这个类可以干什么,属性不用带括号,方法必须带括号,方法不需要print,属性需要print
面向过程就是直接写函数,c语言就是面向过程,java是面向对象,python二者都可
1、最简单的类
# 类就是一个模板,创建一个狗类
class Dog:
pass # 空的类
d1 = Dog() # 创建第1个实例,实例就是类名加括号
d2 = Dog() # 创建第二个实例
d1.name = '大黄' # 赋予属性
print(d1.name) #访问一个属性就是用.
print(d2.name)
2、在__init__中给类加上属性
class Dog:
# 构造方法
def __init__(self, name, height, blood, power): # 传给属性,在一个类里面,类的一个方法第一参数必须加上self
self.name = name # 赋值给自己,给当前创建好的实例
self.height = height
self.blood = blood
self.power = power
d1 = Dog('大黄', 0.7, 10, 3) # 创建第1个实例,实例就是类名加括号,传入参数,第一个self不用传
d2 = Dog('二狗', 0.5, 10, 4) # 创建第2个实例
print(d1.name, d1.height, d1.blood, d1.power) #访问一个属性就是用.
print(d2.name)
3、self和默认属性,以及修改属性
class Dog:
# 构造方法
def __init__(self, name, height, power): # 传给属性,在一个类里面,类的一个方法第一参数必须加上self
self.name = name # 赋值给自己,给当前创建好的实例
self.height = height
self.power = power
self.blood = 10 # 有些属性不一定要传进来,可以在模板里面直接创建好
d1 = Dog('大黄', 0.7, 3) # 创建第1个实例,实例就是类名加括号,传入参数,第一个self不用传
d2 = Dog('二狗', 0.5, 4) # 创建第2个实例
print(d1.name, d1.height, d1.blood, d1.power) #访问一个属性就是用.
print(d2.blood)
# 4、访问属性和修改属性
d2.blood = 9 # 修改属性直接用赋值语句
print(d2.blood) # 属性不用带括号
print(id(d1)) #访问内存地址
print(id(d2))
4、添加和使用方法
class Dog:
# 构造方法
def __init__(self, name, height, power): # 传给属性,在一个类里面,类的一个方法第一参数必须加上self
self.name = name # 赋值给自己,给当前创建好的实例
self.height = height
self.power = power
self.blood = 10 # 有些属性不一定要传进来,可以在模板里面直接创建好
#添加方法,所有类里面的参数必须要有self
def bark