Python 编程基础 | 第五章-类与对象 | 5.2、数据成员
一、数据成员
数据成员是指类中定义的变量,即属性,根据定义位置,又可以分为类属性和实例属性,下面分别进行介绍。
1、实例属性
实例属性是指定义在类的方法中的属性,该属性属于当前实例,例如:定义一个Dog类,在该类的
__init__()方法中定义2个实例属性,代码如下:
class Dog:"实现一个小狗类"def __init__(self, name, age) -> None:self.name = nameself.age = agedef sit(self):"小狗接收到蹲下指令"print(f"{self.name} is now sitting")my_dog = Dog("jack", 10)
my_dog.sit()
可以使用
.来访问对象的属性,但是,实例属性只能通过实例名访问,如果通过类名访问会报错
2、类属性
类属性是指在定义类中,并且在函数体外的属性,类属性可以在类的所有实例之间共享,例如:定义一个雁类,在该类中定义3个类属性,代码如下:
class Geese:"""大雁类"""beak_1 = "喙,比较尖" # 定义类属性(喙)wing_1 = "翅膀,比较大" claw_1 = "爪,行走自如"def __init__(self):print("我是大雁类!我有一下特征:")print(Geese.beak_1) # 访问类属性print(Geese.wing_1)print(Geese.claw_1)my_geese = Geese()
通过
类名.的方式访问类属性
3、内置类属性
Python有一些内置的类属性,记录类相关的信息,如下:
| 属性 | 功能 |
|---|---|
__dict__ | 类的属性(包含一个字典,由类的数据属性组成) |
__doc__ | 类的文档字符串 |
__name__ | 类名 |
__module__ | 类定义所在的模块 |
__bases__ | 类的所有父类构成的元素 |
示例:
class Dog:"实现一个小狗类"def __init__(self, name, age) -> None:self.name = nameself.age = agedef sit(self):"小狗接收到蹲下指令"print(f"{self.name} is now sitting")print (f"Dog.__doc__:{Dog.__doc__}")
print (f"Dog.__name__:{Dog.__name__}")
print (f"Dog.__module__:{Dog.__module__}")
print (f"Dog.__dict__:{Dog.__dict__}")
print (f"Dog.__bases__:{Dog.__bases__}")
相关文章:
Python 编程基础 | 第五章-类与对象 | 5.2、数据成员
一、数据成员 数据成员是指类中定义的变量,即属性,根据定义位置,又可以分为类属性和实例属性,下面分别进行介绍。 1、实例属性 实例属性是指定义在类的方法中的属性,该属性属于当前实例,例如:…...
PHP 个人愿望众筹网站系统mysql数据库web结构apache计算机软件工程网页wamp
一、源码特点 PHP 个人愿望众筹网站系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php 个人愿望众筹网站 代码 https://download.csdn.net/download/qq_41221322/8…...
JS--判断空值(null、undefined、NaN、false、空字符串等)
原文网址:JS--判断空值(null、undefined、NaN、false、空字符串等)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍JavaScript判断空值的方法。 空值包括:undefined,null,NaN,,false,{}࿰…...
ChatGPT 背后包含了哪些技术?
ChatGPT 是由OpenAI开发的一款基于GPT-3(Generative Pre-trained Transformer 3)的人工智能语言模型。这个模型是使用多种编程语言和技术组合编写的。 首先,ChatGPT 使用了 Python 作为主要的编程语言。Python 是一种流行的高级编程语言&…...
Vue Router(二)
目录 一、嵌套路由 1、路由定义 2、代码例子 3、重定向 二、懒加载 1、缘由 2、代码例子 三、导航守卫 1、全局前置守卫 2、全局后置守卫 3、meta元信息 四、生命周期 1、解释 2、执行顺序 3、例子 五、keep-alive组件缓存(保活) 1、介…...
ELK整合springboot(第二课)
一、创建一个springboot的项目 pom文件如下: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…...
运维常见的22个故障排查和10个问题解决技巧大汇总!
作为运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是…...
解决 TensorFlow 2.x 中的 “AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘“ 错误
项目场景: 在使用 TensorFlow 框架实现深度学习应用时,可能会遇到以下错误: AttributeError: module tensorflow has no attribute placeholder问题描述 在 TensorFlow 1.x 版本中,placeholder 函数用于创建占位符张量。然而&a…...
新风机注意事项有哪些?
选择和使用新风机时,有几个关键注意事项需要牢记: 安装位置:新风机的安装位置很重要。通常情况下,应将其安装在室外以避免室内产生噪音和减少室内的体积占据。确保选择合适的安装位置,以便新风机能够顺利引入新鲜空气。…...
GitHub基础
1、仓库是什么意思?仓库拥有者是谁? 在软件开发或版本控制系统中,"仓库"(Repository)是指存储项目代码、配置文件、文档等相关文件的地方。它可以看作是一个中央存储库,用于管理和跟踪项目的各个…...
读书笔记--未来简史关键金句和阅读感悟
借着国庆假期,终于有时间研读了尤瓦尔.赫拉利的《未来简史》,作者的写作方式、文笔、观察视角都是我喜欢的类型,作者从古到今,谈到了上帝、神、宗教、科技、生物、智人到未来的超人智神(数据主义)ÿ…...
【Vue2.0源码学习】生命周期篇-销毁阶段(destroy)
文章目录 1. 前言2. 销毁阶段分析3. 总结 1. 前言 接下来到了生命周期流程的最后一个阶段——销毁阶段。从官方文档给出的生命周期流程图中可以看到,当调用了vm.$destroy方法,Vue实例就进入了销毁阶段,该阶段所做的主要工作是将当前的Vue实例…...
代理IP与Socks5代理在多领域的卓越应用
随着数字化时代的到来,网络工程师在跨界电商、爬虫、出海业务、网络安全和游戏等多个领域中扮演着至关重要的角色。在这些领域中,代理IP与Socks5代理技术已经成为网络工程师的得力助手,本文将深入探讨它们在技术世界中的卓越应用。 1. 跨界电…...
kafka怎么实现零拷贝(Zero-Copy)的?
Kafka 实现零拷贝(Zero-Copy)主要依赖于操作系统和底层网络库的支持,而不是特定的算法。这是因为零拷贝是一种优化数据传输的技术,通常是通过操作系统和硬件来实现的。以下是 Kafka 如何实现零拷贝的一般原理: 直接内存…...
Hive【Hive(四)函数-单行函数】
函数 函数简介 方便完成我们一些复杂的操作,就好像我们 Spark 中的 UDF 函数,避免用户反复写逻辑。 Hive 提供了大量的内置函数,主要可以分为以下几类: 单行函数聚合函数炸裂函数窗口函数 下面的命令可以查看内置函数的相关…...
C语言学生成绩录入系统
一、系统概述 该系统是一个由链表创建主菜单的框架,旨在快速创建学生成绩录入系统的主菜单结构。其主要任务包括: 实现链表的创建、插入和遍历功能,用于存储和展示学生成绩录入系统各个模块的菜单项。 2. 提供用户友好的主菜单界面…...
操作系统对内存的管理:分配与回收,虚拟内存,内存容量的扩充,内存保护,补充(链接方式、装入方式)
内存:即内存条,也称主存储器(简称主存),用于存放数据。 为了缓和CPU和外存(磁盘)的速度矛盾,外存的程序先放入内存才能被CPU处理。 内存地址从0开始,每个内存地址对应一…...
[开源]基于Vue的拖拽式数据报表设计器,为简化开发提高效率而生
一、开源项目简介 Cola-Designer 是一个 基于VUE,实现拖拽 配置方式生成数据大屏,为简化开发、提高效率而生。 二、开源协议 使用GPL-2.0开源协议 三、界面展示 概览 部分截图: 四、功能概述 特性 0 代码 实现完全拖拽 配置式生成…...
微信小程序——CSS3渐变
SS3 渐变(gradients)可以在两个或多个指定的颜色之间显示平稳的过渡。CSS3 定义了两种类型的渐变(gradients): 说明 1、线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向࿱…...
CCF中国开源大会专访|毛晓光:“联合”是开源走向“共赢”的必由之路
受访嘉宾 | 毛晓光 记者 | 朱珂欣 2023 CCF 中国开源大会( CCF ChinaOSC )拟于 2023 年 10 月 21 日至 22 日在湖南省长沙市北辰国际会议中心召开。 作为第二届 CCF 中国开源大会,本届大会将组织特邀报告、高峰论坛和领域分论坛等不同类…...
丹青识画系统快速上手:3步完成镜像部署与首次调用
丹青识画系统快速上手:3步完成镜像部署与首次调用 想试试那个能看懂图片里有什么、还能跟你聊天的AI吗?丹青识画系统就是这么一个有趣的工具。你可能在网上看过一些演示,一张图丢进去,AI就能告诉你图里有啥,甚至能回答…...
权限控制避坑指南:为什么你的RBAC系统总出问题?从数据库设计到接口鉴权全解析
RBAC权限系统深度避坑指南:从数据库设计到接口鉴权的全链路实践 在数字化系统开发中,权限控制就像建筑物的承重墙——平时看不见,一旦出问题就是系统性崩溃。我曾见过一个日活百万的电商平台因为角色权限配置错误,导致客服人员误删…...
芯片验证工程师必备:SVA断言中的assert/cover/assume核心区别与典型误用案例
芯片验证工程师必备:SVA断言中的assert/cover/assume核心区别与典型误用案例 在芯片验证领域,SystemVerilog Assertion(SVA)是验证工程师不可或缺的利器。对于1-3年经验的验证工程师而言,深入理解assert、cover和assum…...
BERT 模型:自然语言处理的新篇章
BERT模型:自然语言处理的新篇章 在人工智能领域,自然语言处理(NLP)一直是研究的热点之一。2018年,谷歌推出的BERT模型彻底改变了NLP的发展方向,成为该领域的重要里程碑。BERT(Bidirectional En…...
多核编程避坑指南:为什么你的共享变量总是不听话?
多核编程避坑指南:为什么你的共享变量总是不听话? 想象一下这样的场景:你和同事同时编辑一份在线文档,两人都在某个单元格里输入数字并点击"保存"。理论上两次操作应该让数字增加两次,但最终结果可能只增加了…...
DeerFlow自动化测试:基于Postman的API测试集成
DeerFlow自动化测试:基于Postman的API测试集成 1. 为什么需要API自动化测试 在微服务架构中,系统通常由多个独立的服务组成,这些服务通过API进行通信。手动测试这些API不仅耗时耗力,而且容易出错。随着系统规模扩大,…...
新手避坑指南:雯雯的后宫-造相Z-Image-瑜伽女孩镜像部署全流程解析
新手避坑指南:雯雯的后宫-造相Z-Image-瑜伽女孩镜像部署全流程解析 1. 镜像概述与核心价值 雯雯的后宫-造相Z-Image-瑜伽女孩是一个专注于生成高质量瑜伽主题图像的文生图模型服务。基于Z-Image-Turbo底座并结合特定LoRA微调技术,该镜像能够生成风格统…...
Flink 1.11.2 + ClickHouse实战:手把手教你搭建实时商品浏览看板(附Tableau自动刷新技巧)
Flink ClickHouse 实时商品热度分析系统:从数据管道到自动刷新看板的完整实践 电商运营团队每天最关心的问题之一,就是哪些商品正在被用户频繁浏览。这些实时数据如果能快速转化为可视化的热力图,就能帮助运营人员及时调整推荐策略、优化库存…...
OpenClaw多模型混搭方案:百川2-13B-4bits与Qwen在自动化流程中的协同调用
OpenClaw多模型混搭方案:百川2-13B-4bits与Qwen在自动化流程中的协同调用 1. 为什么需要多模型混搭 去年冬天,当我第一次尝试用OpenClaw自动化处理周报时,发现一个尴尬的问题:用同一个模型处理文本润色和代码生成,效…...
终极指南:如何用HS2-HF Patch轻松实现Honey Select 2中文本地化
终极指南:如何用HS2-HF Patch轻松实现Honey Select 2中文本地化 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为看不懂Honey Select 2的日文界…...
