1. 类
1.1 介绍
具有相同属性和行为的统称
类就相当于是一个模板,一个类可以找到多个对象
如:狗,汽车,苹果
1.2 类的构成
类的名称:类名
类的属性:一组数据
类的方法:允许对进行操作的方法(行为)
1.3 例子
人的类的设计:
类名:人(person)
属性:年龄(age)、性别(sex)
方法:跑(run)
1.4 类的抽象
拥有相同属性和行为的对象都可以抽象成一个类
2.对象
某一个具体事物的存在,可以是直接使用的。
通过类的模板创建出来的实体
如:小明的那辆车、你手上的那个苹果
3. 定义类
3.1 格式
class 类名:
属性列表
方法列表
3.2 例子:定义一个dog类
#定义类
class Dog:
#属性
sex = '公'
color = 'red'
#方法
def eat():
print('狗正在吃骨头')
4. 创建对象
4.1 格式
对象名 = 类名()
4.2 例子
#定义一个dog类
class Dog:
# 属性
color = 'red'
# 方法
def setName(self,newname):
self.name = newname #添加一个属性name
def eat(self):
print(self.name + "狗正在吃骨头")
def run(self):
print(self.name + "狗正在跑")
erha = Dog() #创建对象erha
erha.setName('二哈') #调用setName()方法
erha.eat() #调用eat()方法
jinmao = Dog() #创建对象jinimao
jinmao.setName('金毛')
jinmao.run()
print(jinmao.name) #通过对象直接调用属性
print(jinmao.color)
运行结果:
二哈狗正在吃骨头
金毛狗正在跑
5. 属性
像上面的color、sex都是属性
属性也分公有和私有:公有属性可以直接在类的外面通过对象名访问。如果想定义成私有的,则需要在前面加两个下划线,即‘__’
例子:
#定义一个dog类
class Dog:
# 属性
color = 'red'
_money = '10000'
# 方法
def setName(self,newname):
self.name = newname
def eat(self):
print(self.name + "狗正在吃骨头")
def run(self):
print(self.name + "狗正在跑")
def moeny(self):
print("money=" + self._money) #私有属性在内部调用
jinmao = Dog()
jinmao.setName('金毛')
jinmao.moeny()
6. 方法
定义方法采用def关键字,在类中定义的方法至少会有一个参数,一般以名为self的变量作为该参数,且作为第一个参数。
谁调用self,self就是谁
私有方法
#定义一个dog类
class Dog:
# 属性
color = 'red'
_money = '10000'
# 方法
def __setName(self,newname): ##定义了一个私有方法
self.name = newname
def eat(self):
print(self.name + "正在吃骨头")
def run(self):
print(self.name + "正在跑")
def moeny(self):
print("money=" + self._money)
def newsetName(self,newname):
self.__setName(newname) #内部调用这个私有方法
jinmao = Dog()
jinmao.newsetName('金毛')
jinmao.run()