1、什么是类、什么是对象?
类:人类、鸟类、鱼类...描述的是一个群体用一个特定的类来划分
编程中的类:例如我们的字段类型,整数,浮点数,字符串就分别是三个类,可以用type()去验证
对象:对象可以看成是类和实例的集合。
及类可以堪称是一个对象,实例也可以看成是一个对象。
例如:列表类list可以看成是一个对象,列表实例[1,2]也可以看成是一个对象。
例如:电脑很强大(电脑类对象),我的电脑(类实例我的电脑)很卡
总结:万事万物皆对象
2、类的创建和调用
创建:
class computer:
screen=true#都有屏幕,属性
def start():#都能开机,方法
print('电脑开机中......')
类的调用:1.类的实例化2.调用属性3.调用方法
class computer:
screen=true#都有屏幕,属性
def start():#都能开机,方法
print('电脑开机中......')
my_computer = computer()#类的实例化
print(my_computer.screen)#调用属性
mycomputer.start()#调用方法
说明:类理论上可以无数次实例化,所以类又被称之为实例化工厂
3、创建类的两个关键点
特殊参数:self
什么是self?
前面讲到,调用类的属性和方法需要常见实例化类对象。调用类对象的属性和方法通常分为类内部调用和类外部调用,内部调用且未实例化之前,self参数可以看成是一个临时的实例化对象。内部方法可以通过传入self参数去调用类的属性和方法
eg:
class Chinese:
def greeting(self):
print('很高兴遇见你')
def say(self):
self.greeting()
print('我来自中国')
person = Chinese()
# 创建实例person
person.say()
# 调用say()方法,输出'很高兴见到你,我来自中国'
特殊方法:初始化方法
什么是初始化方法?
初始化方法指,类对象再未调用的时候就执行的方法。
初始化方法的语法?
def__init__(self):
print('很高兴遇到你')
初始化方法使用实例:
class Chinese:
def__init__(self,name,birth,region):
self.name=name
self.birth=birth
self.region=region
def born(self):
print(self.name+'出生在:'+self.birth)
def live(self):
print(self.name+'居住在:'+self.region)
person = Chinese('尤念','湖北','上海')
person.born()
person.live()
4、面向对象编程和面向过程编程
面向过程编程:及完成一个功能,第一步做什么,第二步做什么,第三部做什么....(有执行顺序,按顺序执行)
面向对象编程:不是看具体的执行顺序,而是将程序看成一个对象的集合
而是先考虑建一个类,再定义类的属性和方法,及是什么(属性),能做什么(方法)
接着再以类为模板,创建一个实例对象,这个实例调用类的属性和方法
面向对象的优点:1、以类去封装属性和方法、封装内容更多,便于后期的拓展、新增和维护。代码的结构更清晰,
相比于面向过程,可读性、拓展性和可维护性都更好。
2、调用类的方法更容易,不用清楚过程