【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数

简介: 【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数

一、面向对象基础


1、面向过程和面向对象:


面向过程:自己动手洗衣服、拧衣服、晾衣服


面向对象:放入洗衣机、从开始到结束、晾衣服


2、类和对象


类:就是具有相同属性和功能的一类事物,抽象概念的东西。


对象:就是类的具体表现,是面向对象编程的核心,是实实在在的东西。


举例:


狗(类)、大黑狗(类)、九歌家的狗(对象) 水果(类)、苹果(类)、红富士苹果(类) 我正在吃的苹果(对象)


3、类的写法和使用--Class


  • 类的定义


定义格式一:   class 类名:                          

                               pass

定义格式二:                

                     class 类名:                          

                               成员

类名用大驼峰命名法,首字母大写。



类的三要素类名、属性(对对象特征的描述)、方法(对对象具有的的行为)


例:类名:人类    属性:黄色的头发、戴眼镜  方法:吃饭、说话

262f0575bc9f4b4486902e93d0848cc6.png


  • 增删改查类中的属性


增删改查类中的单个属性,通过万能的点方式去操作

01bff6959cb248ff8f4c28c6fed28593.png


4、创建对象(实例化对象)


  • 实例化对象的格式

变量名 = 类名()


注意:创建对象不限制数量

a28c149c7b214685a99f23aa872a4da6.png


  • 实例方法


实例方法:由对象来调用,至少一个self参数,执行实例方法时,自动调用该方法的对象并赋值给self

7780ea8f00e5479eb7af867176407363.png


一个类可以实例化多个对象

7331c33e7ffe4311bebe3b4a2fd1a014.png


  • 实例属性--self.属性名


79f59104d92e4375ab4c377cead5acc3.png


二、构造函数


1、构造方法


构造方法__init__方法(通常用来做属性初始化或赋值操作)


1a145384ba054c41bbf48d9d579f3124.png


用构造函数实现英雄攻击


fb13b3ec3d3b4266bf5e96e570739006.png



三、类属性和实例属性的访问


  • 类属性属于类,实例属性属于对象


  • 类属性在内存中只保存一份,实例属性在每个对象中都保留一份


  • 对于类属性,类可以访问到,实例对象也可以访问到;对于实例属性,类访问不到,实例对象可以访问到


1、代码演示


  • 类名访问类属性,对象访问类属性

833ec45a1d6a4275aa020240734cf852.png


  • 通过类名查看实例属性会报错

912251add11d4df28d1a468bb5c0c693.png


  • 通过对象查看实例属性

0c89fc0dcdda4b68ba8553d4009a6157.png



相关文章
|
9月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
272 4
|
10月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
896 3
|
10月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
269 0
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
640 15
|
安全 测试技术 开发者
Python中的“空”:对象的判断与比较
在Python开发中,判断对象是否为“空”是常见操作,但其中暗藏诸多细节与误区。本文系统梳理了Python中“空”的判定逻辑,涵盖None类型、空容器、零值及自定义对象的“假值”状态,并对比不同判定方法的适用场景与性能。通过解析常见误区(如混用`==`和`is`、误判合法值等)及进阶技巧(类型安全检查、自定义对象逻辑、抽象基类兼容性等),帮助开发者准确区分各类“空”值,避免逻辑错误,同时优化代码性能与健壮性。掌握这些内容,能让开发者更深刻理解Python的对象模型与业务语义交集,从而选择最适合的判定策略。
554 5
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
363 11
Python 高级编程与实战:深入理解面向对象与并发编程
本文深入探讨Python的高级特性,涵盖面向对象编程(继承、多态、特殊方法、类与实例属性)、异常处理(try-except、finally)和并发编程(多线程、多进程、异步编程)。通过实战项目如聊天服务器和异步文件下载器,帮助读者掌握这些技术,编写更复杂高效的Python程序。
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
373 2
|
9月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1533 102

推荐镜像

更多