python 面对对象 类 基础

news/2024/7/25 3:22:52/文章来源:https://blog.csdn.net/qq_64993426/article/details/139194088

面对对象

程序是由数据和功能组合而成的对象构建起来的,对数据与函数绑定到一起,进行封装,能够更快速的开发程序,减少重复代码

class --- 类,类是对象的抽象化,具有相同特征或行为的事物的统称

类的定义

class 类名():pass

命名规则:驼峰命名法(首字母大写)

class People():pass

类的调用

也叫做 实例化对象

class People():passzhangsan = People()
lisi = Person()# 这是两个不同的实例对象  就像是不同的两个人

类的属性

类可以存放 属性和方法,就像人一样 属性就是 性别 年龄,方法就是吃饭 睡觉 学习

实例化后 可以获得类中所有的属性和方法

在查找属性时,会优先在实例中查找,然后在类中查找

class People():age = 18zhangsan = People()
print(dir(zhangsan))     # 查看属性
print(zhangsan.age)      # 18

类与实例之间的关系

  1. 类是一个事物的抽象,不是真实存在的
  2. 实例是某个事物的具体个体,是真实存在的

实例也是存放变量的空间,不同实例之间互不可见

class People():sex = '男'lisi = People()
lisi.sex = '女'          # 修改属性为 女
lisi.age = 18            # 添加age属性 值为18
print(list.sex)          # 女
print(list.age)          # 18zhangsan = People()
print(zhangsan.sex)      # 男    上面即使修改了sex属性为女 这里依旧是输出 男# 所以各论各的的,实例之间互不干扰

私有属性

  1. 属性前加  '_' 一个下划线,外部可以直接访问
  2. 属性前加 '__' 两个下划线,外部不可以直接访问

这是一种规范,并非限制,类中的私有属性也可以被子类继承

class People():_age = 18__sex = '男'zhangsan = People()print(zhangsan._age)       # 18
print(zhangsan.__sex)      # 看不到,那么如何才能访问呢print(dir(zhangsan))
print(zhangsan._People__sex)   # 男

类的方法

也就是像人的  吃饭 睡觉 学习 打游戏

self:实例本身

class People():def eat(self):print('我要吃饭')zhangsan = People()
zhangsan.eat()         # 我要吃饭

如果需要传递参数  那么和函数是一样的

class People():def eat(self, name):print(f'{name}要吃饭')zhangsan = People()
zhangsan.eat('张三')         # 张三要吃饭

在类里面调用类的属性

class People():name = '张三'def eat(self):print(f'{self.name}要吃饭')zhangsan= People()
zhangsan.eat()     # 张三要吃饭

在类的方法里面调用类的其他方法

class People():name = '张三'def eat(self):print(f'{self.name}吃完饭后要', end = '')def shuijiao(self):self.eat()print('睡觉')zhangsan = People()
zhangsan.shuijiao()    # 张三吃完饭后要睡觉

改变私有属性

通过添加一个方法来改变私有属性

class People():__name = '张三'def set_name(self, setname):self.__name = setnamezhangsan = People()zhangsan.set_name('李四')
print(zhangsan._People__name)

返回私有属性

class People():__name = '张三'def result(self):return self.__namezhangsan = People()print(zhangsan.result())       # 张三

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1053811.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm150旅游网站的设计与实现+jsp

旅游网站设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本旅游网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞…

MySQL数据库案例实战教程:数据类型、语法与高级查询详解

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

《架演》共创者第一次线上沟通会议总结

《架演》共创者第一次线上沟通——启动会 会议主题:《架演》共创启动会议会议时间:2024年5月28日,20:00 - 21:00会议地点:腾讯会议主持人:寒山参会人员: 夏军、mirror、刘哥、悟缺席人员:可心、…

内网安全-隧道搭建穿透上线内网穿透-nps自定义上线内网渗透-Linux上线-cs上线Linux主机

目录 内网安全-隧道搭建&穿透上线内网穿透-nps-自定义-上线NPS工具介绍搭建过程 nps原理介绍MSF上线CS上线 内网渗透-Linux上线-cs上线Linux主机1.下载插件2.导入插件模块3.配置监听器4.服务端配置5.配置C2监听器并生成木马6.执行木马 内网安全-隧道搭建&穿透上线 内网…

强化学习——学习笔记2

在上一篇文章中对强化学习进行了基本的概述,在此篇文章中将继续深入强化学习的相关知识。 一、什么是DP、MC、TD? 动态规划法(DP):动态规划法离不开一个关键词,拆分 ,就是把求解的问题分解成若…

AcWing 2568:树链剖分 ← 线段树+DFS

【题目来源】https://www.acwing.com/problem/content/2570/【题目描述】 给定一棵树,树中包含 n 个节点(编号 1∼n),其中第 i 个节点的权值为 ai。 初始时,1 号节点为树的根节点。 现在要对该树进行 m 次操作&#xf…

为表格添加背景色:\rowcolor, \columncolor,\cellcolor

设置行的背景 \rowcolor 是 LaTeX 中用于设置表格行的背景色的命令。它可以使表格更加美观和易于阅读。rowcolor 命令通常与 colortbl 宏包一起使用。 语法如下&#xff1a; \rowcolor{<color>}其中 表示要设置的背景色&#xff0c;可以是预定义的颜色名称&#xff08…

【已解决】C#设置Halcon显示区域Region的颜色

前言 在开发过程中&#xff0c;突然发现我需要显示的筛选区域的颜色是白色的&#xff0c;如下图示&#xff0c;这对我们来说不明显会导致我的二值化筛选的时候存在误差&#xff0c;因此我们需要更换成红色显示这样的话就可以更加的明显&#xff0c;二值化筛选更加的准确。 解…

JMH304-剑侠情缘2网络版+2017纹饰端+翅膀+单机+外网整理+各种副本

资源介绍&#xff1a; 藏剑-太虚-梁山-杀手堂种树地宫师门纹饰装备长流云阳套等等———– 做登录器联系站长 资源截图&#xff1a; 下载地址

揭秘OS模块:文件与文件夹的遍历艺术

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、os.listdir()&#xff1a;当前目录的扫描者 三、os.walk()&#xff1a;文件系…

鹏哥C语言复习——调试

目录 什么是调试&#xff1f; Debug和Release&#xff1a; 调试方法&#xff1a; 环境准备&#xff1a; 调试快捷键介绍&#xff1a; 调试快捷键注意事项&#xff1a; 监视与内存查看&#xff1a; 数组元素的监视&#xff1a; 编译常见错误归类&#xff1a; 编译型错…

windows中每日定时执行python脚本,解决问题

由于需要一个每天定时执行的任务&#xff0c;所以需要定时启动&#xff0c;网上看了很多方法&#xff0c;感觉不能在python脚本种写个while true 定时执行&#xff0c;占资源不说还不可靠。 最后考虑通过系统工具定时启动&#xff0c;发现linux中有crontab&#xff0c;windows…

Matlab-熵权法

文章目录 熵权法一、模型简介二、例题1. 数据标准化2.指标的熵值和变异程度3.权重与评分4.代码实现 熵权法 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多…

修改了vue3 <script setup>留言板

Лунная ночь <template><button class"edit_view_checkbox"><input type"checkbox" v-model"editshowInput" value"编辑" /></button><div class"editshowInput" v-if"editshowI…

线性回归计算举例

使用正规方程计算&#xff08;一元线性回归&#xff09; import numpy as np import matplotlib.pyplot as plt # 转化成矩阵 X np.linspace(0, 10, num 30).reshape(-1, 1) # 斜率和截距&#xff0c;随机生成 w np.random.randint(1, 5, size 1) b np.random.randint(1,…

骆驼大赛

目录 一&#xff0c;主版图 二&#xff0c;骰子 三&#xff0c;初始设置 四&#xff0c;核心规则 五&#xff0c;结算 这是适合5-8人玩的一个概率推理类的回合制桌游。 一&#xff0c;主版图 赛道由16个格子组成&#xff0c;编号为1-16。 一共7个骆驼&#xff0c;其中正…

基于 Java 的浏览器——JxBrowser使用分享

软件介绍 JxBrowser 是一个基于 Java 的浏览器&#xff0c;它使用 Chromium 引擎来提供高性能的网页渲染和丰富的功能。它支持多种 GUI 框架&#xff0c;如 Swing、JavaFX 和 SWT&#xff0c;使得在 Java 应用程序中嵌入浏览器组件变得简单。 JxBrowser 是一个适用于多种用途…

MySQL索引和视图

MySQL索引和视图是关系型数据库MySQL中的两个重要概念。索引用于优化数据库的查询性能&#xff0c;而视图用于提供一个逻辑上的表结构&#xff0c;方便用户查询和操作数据。 索引是一种数据结构&#xff0c;可以加速对数据库表中的数据进行查询的速度。通过创建索引&#xff0…

基于QEMU-aarch64学习UEFI(EDK2)-7Print打印函数

1 基于QEMU-aarch64学习UEFI(EDK2)-7Print打印函数 文章目录 1 基于QEMU-aarch64学习UEFI(EDK2)-7Print打印函数1.1 Print打印函数输出字符串1.2 Print打印函数其他用法程序开发我们以 edk2-stable202302版本为准。 1.1 Print打印函数输出字符串 我们把edk2/MdeModulePkg/App…

Py列表(list)

目录 正向索引&#xff1a; 反向索引&#xff1a; 嵌套列表&#xff1a; 修改列表中的值 列表常用的方法 实例 练习&#xff1a; 正向索引&#xff1a; 从0开始&#xff0c;依次递增。第一个元素的索引为0&#xff0c;第二个元素的索引为1&#xff0c;依此类推。 列表的下标…