news 2026/11/6 2:01:27

Python78:核心语法-面向对象基础-类与对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python78:核心语法-面向对象基础-类与对象

类与对象

定义类与创建对象

类的定义

  • 定义类的语法如下:(动态添加属性)

说明:类名的命名规范,遵循大驼峰命名法,每个单词的首字母都是大写,单词之间没有分隔符,比如:UserInfo,UserAccount 。

说明:__dict__是Python中用户自定义类实例的一个特殊属性,用于以字典形式存储对象的属性。

实例一:

第二章/22.面向对象基础.py

# 定义类 ----> 不推荐 动态地为对象添加属性 class Car: pass # 创建对象 c1 = Car() # 动态地为对象添加属性(会降低项目的可读性,增加开发的难度) c1.color = "red" c1.brand = "BMW" c1.name = "X5" c1.price = 500000 print(c1) # <__main__.Car object at 0x000001FC1DA69400> 0x000001FC1DA69400存放属性的地址(会变化) print(c1.brand) print(c1.__dict__) # 会将对象中的所有属性以字典的形式输出出来
D:\py_project_heima\.venv\Scripts\python.exe D:\py_project_heima\第二章\22.面向对象基础.py <__main__.Car object at 0x0000023860589400> BMW {'color': 'red', 'brand': 'BMW', 'name': 'X5', 'price': 500000}

注意:这种方法,动态地为对象添加属性,会降低项目的可读性,增加开发的难度,所以不推荐。

  • 定义类的语法如下:(定义类时指定实例属性)

说明:定义在类的外面的称之为函数,定义在类中的函数称之为方法。

实例二:

第二章/22.面向对象基础.py

# 定义类 class Car: # __init__ 方法是初始化的方法,会在对象创建时自动调用,可以在该方法中为对象设置对应的属性; # self:是第一个参数,表示当前所创建出来的实例对象 def __init__(self, c_color, c_brand, c_name, c_price): self.color = c_color self.brand = c_brand self.name = c_name self.price = c_price print("Car 类型的对象初始化完毕,对象属性已经添加完毕。") # 创建对象 c1 = Car("红色", "BMW", "X7", 800000) print(c1.__dict__) c2 = Car("白色", "奔驰", "E300", 450000) print(c2.__dict__)
D:\py_project_heima\.venv\Scripts\python.exe D:\py_project_heima\第二章\22.面向对象基础.py Car 类型的对象初始化完毕,对象属性已经添加完毕。 {'color': '红色', 'brand': 'BMW', 'name': 'X7', 'price': 800000} Car 类型的对象初始化完毕,对象属性已经添加完毕。 {'color': '白色', 'brand': '奔驰', 'name': 'E300', 'price': 450000}

小结:

1. 定义类时,类名的命名规范?

  • 大驼峰命名法,UserInfo,UserAccount

2. 定义类时,__init__方法的作用?self参数的作用?

  • __init__ 是初始化方式,对象创建时自动调用,主要用于设置对象的初始状态(设置对象属性)
  • self是类中定义的方法的第一个参数,表示当前创建的实例对象

声明:本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/6 2:01:02

7.训练相关

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 2:00:43

数据质量怎么判断?完整性、准确性、一致性到底有什么区别?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 1:59:26

QML自定义输入框:仿Agent输入条与仿wechat输入框

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 1:59:26

msvcr71.dll丢失怎么办?官方修复流程与单文件下载风险详解

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/11/6 1:56:25

粗糙度测试方法比对,WLI、LSCM、AFM该如何选择?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 1:55:27

WiFi 智能电表选型指南:单相 / 三相 / 高速监测三款典型产品对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华