基本概念面向过程
是早期的一个编程概念,类似函数,但是没有返回值具体做法:把完成某个需求的所有步骤,从头到尾 逐步实现将某些功能独立的代码 封装成一个又一个 函数然后顺序调用不同的函数特点:注重 ** 步骤与过程,** 不注重职责分工如果需求复杂,代码会变得很复杂开发复杂项目,没有固定的套路,开发难度大**面向对象
**
相较于函数, 面向对象是更大的封装 ,根据** 职责** 在一个对象中封装多个方法在完成某个需求前,首选确定 ** 职责** ,根据职责确定不同的对象,在对象内部封装不同的方法最后让不同的对象调用不同的方法特点:注重 对象和职责 ,不同的对象承担不同的职责更加适合对应复杂的需求变化,专门应对复杂项目开发,提供固定套路**类和对象
**
类 和 对象 是面向对象的两个核心概念在程序开发中,先有 类 ,后有 对象类对一群具有相同 特征 或 行为的事物的一个统称,是抽象的,不能直接使用特征 即 属性行为 即 方法(函数)类相当于做汽车的 图纸 , 是一个模板, 而根据这个 **模板 **做出来的具体物品就是 对象三要素类名 这类事物的名字 , 使用大驼峰命名法(helloworld)**属性 **指这类事物的特征方法 指这类事物具备的行为对象**对象 **是根据类创建出来的一个具体存在,可以直接使用根据类创建出来的对象,具备与类相同的 属性 和 方法**类和对象的关系
**
类是模板,对象 是根据 **类 **这个模板创建出来的,先有类,后有对象类 只有一个,根据这个类创建的 对象 可以有多个不同的对象之间,属性可能会各有不同类 中定义了什么样的属性和方法,对象中就是什么样的属性与方法基础语法dir内置函数
在 python 中,对象几乎无所不在,变更、数据、函数都是对象使用内置函数** dir** 传入 ** 标识符/数据** ,可以查看对象内的所有属性和方法方法名 格式的方法是python提供的 内置方法/属性常见方法如下| 方法名 | 类型 | 作用 |
| ------------------ | ---------------- | ---------------------------------------- |
| new | 方法 | 创建对象时,会被自动调用 |
| init | 方法 | 对象被初始化时,会被自动调用 |
| del | 方法 | 对象被从内存中销毁时,会被自动调用 |
| str | 方法 | 返回对象的描述信息,print 函数输出使用 |示例
# 定义函数,测试内置方法def demo(): passprint(dir(demo))输出结果
定义简单类
**面向对象 **是更大的封装,在一个类中封装多个方法,通过这个类创建的对象 可以直接使用这些方法类中方法的定义,与之前定义函数时,几乎一样,区别在于每一个参数必须是 self,** self 表示调用者本身的引用**调用中对象中的方法时,self 不需要传递可以通过 self 调用对象的其它属性或方法示例
需求:定义一个狗类,狗有 吃骨头,睡觉两个方法class dog: # 第一个参数 必须是 self,表示调用者本身的引用 def eat(self): print(狗狗要吃骨头了...) def sleep(self): print(狗狗要睡觉了...)# 定义对象调用方法dog=dog()dog.eat()dog.sleep()# 定义第二个 狗对象dog2=dog()dog2.eat()dog2.sleep()# dog 和dog2 是用同一个类 创建出来的,里面的方法和属性是一样的,但是对象的引用是不同的print(dog)print(dog2)输出结果
对象的初始化
当使用 类名() 创建对象时,会 自动 执行以下操作为对象分配内存空间为对象的属性设置初始值(即调用 init 方法)**init **是对象的内置方法,专门用来定义一个类 具有哪些属性的方法**示例
**
class dog: def __init__(self,name): print(开始初始化dog的属性...) self.name=name def eat(self): print(%s 开始吃骨头了...%self.name) def sleep(self): print(%s 想要睡觉了... %self.name)# 定义对象,并为其属性赋值dog=dog(小白)dog.eat()dog.sleep()dog2=dog(小黑)dog2.eat()dog2.sleep()输出结果
**内置方法
**
del 方法:当一个对象被从内存中销毁时,会自动调用应用场景init 改造初始化方法,可以让对象更加灵活del 如果希望对象在被销毁前,再做一些事情,可以使用此方法生命周期一个对象从调用 类名() 创建,生命周期开始一个对象的 del 方法一旦被调用,生命周期结束在对象的生命周期内,可以访问对象属性,或者调用对象方法str 方法: 默认打印 对象变量的引用内存地址值, 如果希望使用 print 输出对象变量时,能够打印 自定义的内容 ,就可以利用 str 方法,该方法必须返回一个字符串示例
class dog: def __del__(self): print(小黑去轮回了......) def __str__(self): return 我是小黑的自定义打印内容。。。dog=dog()print(dog)print(---------------11111111111)输出结果
AD12250A音频类比数位转换器
福音Type-C集线器的本质就是与电脑共享
清华五道口全球科技与金融发展学者团来本源量子参观交流
核酸检测需要用到哪些设备,检测步骤是怎样的
LED光源失效分析
Python-面向对象
碰焊机的原理及种类
全球人工智能系统支出今年同比增加44.0% 达358亿美元
以太网供电技术
曝锐龙5 3500X将在10月底登陆韩国市场
hifi音箱和监听音箱的区别
联想亏损--教父柳传志埋下联想未来“三地雷”?
eSIM卡应用那么广为何却难以普及
详解路由器的DDoS防御设置
在Flex的位置使用PCB
了解 1-Wire 的简单性
芯片制造全流程:从晶圆加工到封装测试的深度解析
TFT液晶屏的优点
全民开发者时代到来,2月25日相约华为云开发者日深圳站!
紫光国微公布2022年半年度报告