一.面向对象
什么是面向对象?
面向对象Object Oriented Programming,简称OOP,是一种程序设计思想。
对象是程序的基本单元
将数据和处理数据的程序封装到对象中
以提高软件的重用性、灵活性和扩展性为首要目的
优点 :
1.扩展性
2.灵活性
3.重用性
缺点:
1.程序的复杂度提高
2.结果具有不确定性
使用场景:
· 对扩展性要求较高的程序 ,通常是直接面向 用户的
二.类与对象
类:把一系列共同属性和行为抽象的集合
对象:具体存在的,具备自己属性和行为的结合体
对象是类的实例化
对象属于类,生活中先有对象后有类,程序中先有类后有对象
类的语法
class 类的名称: #描述属性用变量 #描述行为用函数
创建对象的语法
class Person: pass #创建对象 p = Person()
属性可以写在类中当公共属性,也可以写在对象里当私有属性
类中和对象中存在同样的属性,先访问对象 如果没有在访问类
属性的增删改查
增加属性 对象变量名称.属性名称 = 属性值 删除属性 del 对象的变量名称.属性名称 修改 对象.属性 = 新的值 查看属性 访问的是对象的所有属性 print(对象.__dict__) 访问对象的类信息 print(对象.__class__)
初始化方法
叫做初始化方法,本质上就是一个函数
特点1: 当实例化 对象时,会自动执行init方法
特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改
功能:用户给对象赋初始值
class Student : def __init__(self,name,age): self.name = name self.age =age @staticmethod def say_hi(): print('hello,my name is ') s1 = Student('kevin', 18)
对象的绑定方法
默认情况下类中的方法都是对象绑定方法
使用对象调用该函数时,会自动传入对象本身,作为第一个参数
当通过类名来调用时,就是一个普通函数,有几个参数就得传几个参数
类绑定方法
类绑定方法用@classmethod来装饰
特殊之处:不管用类还是对象调用,都会自动传入类本身,作为第一个参数
非绑定方法:
又叫静态方法,就是即不需访问类的数据,.也不需要访问对象的数据
语法:@staticmethod 不常用