Python基础 面向过程,面向对象(类和对象1)

简介: python类与对象、面向过程、面向对象、类名,属性,方法的定义,数据类型、类的设计、类的dir()内置函数,如何定义类和定义对象

编程界的两大阵营
面向过程 和 面向对象

区别:
面向过程:
事物比较简单,可以用线性思维去解决
面向对象:
事物比较复杂,使用简单的线性思维无法解决

共同点:
面向过程和面向对象都是解决实际问题的一种思维方式

二者相辅相成,并不是对立的
解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂的关系、方便我们分析整个系统;
具体到微观操作,任然使用面向过程方式来处理
面向对象
相比较函数,面向对象是更大的封装根据职责在一个对象中封装多个方法
1.在完成某一个需求前,首先确定职责--要做的事情(方法)
2.根据职责确定不同的对象,在对象内部封装不同的方法(多个)
3.最后完成的代码,就是顺序地让不同的对象调用不同的方法
特点
1.注重对象和职责,不同的对象承担不同的职责
2.更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
3.需要在面向过程基础上,再学习一些面向对象的语法
类与对象
类和对象是面向对象编程的两个核心概念

类:
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用
1.特征被称为属性
2.行为被称为方法
类就相当于制造飞机的图纸,是一个模板,是负责创建对象的

类是多个类似事物组成的群体的统称。能够帮组我们快速理解和判断事物的性质。

对象:
1.对象是由类创建出来的一个具体存在,可以直接使用
2.由哪一个类创建出来的对象,就拥有在哪一个类中定义的 属性和方法
3.对象就相当于与用图纸制造的飞机
4.在程序开发中,应该先有类,再有对象

类和对象的关系
1.类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象
2.类只有一个,而对象可以有很多个

不同的对象之间,属性可能会各不相同

3.类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少

类的设计
在使用面向对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类

例如:
开发植物大战僵尸的游戏,就需要有植物和僵尸

定义类: 向日葵 豌豆射手 冰冻射手 普通僵尸 铁桶僵尸
定义对象:生命值 生命值 生命值 生命值 生命值

    生产阳光()    发射子弹()      发射冰冻子弹()        咬()          铁通
    摇晃()                                        移动()          咬()
                                                                移动()
                                                                

在程序开发中,要设计一个类,通常需要满足一下三个要素
1.类名 这类事物的名字,满足大驼峰命名法
2.属性 这类事物具有什么样的特征
3.方法 这类事物具有什么样的行为

大驼峰命名法:
CapWords
1.每一个单词的首字母大写
2.单词与单词之间没有下滑线

类名的确定
名词提炼法,分析整个物业流程,出现的名词,通常就是找到的类

属性和方法的确定
1.对对象的特征描述,通常可以定义成属性
2.对象具有的行为(动词),通常可以定义成方法

提示:
需求中没有涉及的属性或者方法在涉及类时,不需要考虑

例:
需求:
小明今年18岁,身高1.75,每天早上跑完步,回去吃东西
小美今年17岁,身高1.65,小美不跑步,小美喜欢吃东西

按照此需求定义类和对象
类: Person
对象: name

  age
  height
  run()
  eat()

数据类型:
不同的数据类型属于不同的类
使用内置函数查看数据类型
print(type(100)) #
print(type(99)) #
print(type(520)) #
返回值都是int类型,这些数都是int类,而100、 99、 520都是int类里的对象
100、 99、 520都是int类之下包含的相似的不同的个例,这个个例专业术语称为实例或对象
面向对象基础语法:

dir内置函数(知道)
1.在Python中对象几乎是无所不在的,我们之前学习的变量、数据、函数、都是对象
2.在python中可以使用内置函数dir传入表示符/数据,可以查看对象内的所有属性及方法

使用方法:dir(函数名)

提示__方法名__格式的方法是python提供的内置方法/属性

1.__new__ 创建对象时,会被自动调用
2.__init__ 对象被初始化时,会被自动调用
3.__del__ 对象被从内存中销毁前,会被自动调用
4.__str__ 返回对象描述信息,print函数输出使用

利用好dir()函数,在学习时很多内容就不需要死记硬背了

相关文章
|
2月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
116 4
|
2月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
3月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
385 3
|
3月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
122 0
|
7月前
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
347 15
|
7月前
|
安全 测试技术 开发者
Python中的“空”:对象的判断与比较
在Python开发中,判断对象是否为“空”是常见操作,但其中暗藏诸多细节与误区。本文系统梳理了Python中“空”的判定逻辑,涵盖None类型、空容器、零值及自定义对象的“假值”状态,并对比不同判定方法的适用场景与性能。通过解析常见误区(如混用`==`和`is`、误判合法值等)及进阶技巧(类型安全检查、自定义对象逻辑、抽象基类兼容性等),帮助开发者准确区分各类“空”值,避免逻辑错误,同时优化代码性能与健壮性。掌握这些内容,能让开发者更深刻理解Python的对象模型与业务语义交集,从而选择最适合的判定策略。
254 5
|
7月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
196 11
|
10月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
489 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
8月前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
179 1
|
8月前
|
Python
Python 高级编程与实战:深入理解面向对象与并发编程
本文深入探讨Python的高级特性,涵盖面向对象编程(继承、多态、特殊方法、类与实例属性)、异常处理(try-except、finally)和并发编程(多线程、多进程、异步编程)。通过实战项目如聊天服务器和异步文件下载器,帮助读者掌握这些技术,编写更复杂高效的Python程序。

推荐镜像

更多
下一篇
oss云网关配置