Python学习day16-类与对象

news2024/12/26 23:39:51

这里写目录标题

    • 示例
  • 成员方法
    • self关键字
  • 类与对象
  • 构造方法
  • 其他类内置方法(魔术方法)
    • _str_符号
    • _Lt_符号
    • le小于等于比较
    • eq比较运算
    • 小结

在Python中,class(类)是一种用于创建对象的模板或蓝图。它封装了数据(属性)和与这些数据相关的操作(方法)。通过类,你可以创建具有特定属性和方法的对象。这种机制使得代码更加模块化和可重用。

类定义了一个对象的结构,包括它包含的数据(通过变量表示)和它可以执行的操作(通过函数表示,但在类中称为方法)。当你创建一个类的实例(即对象)时,你可以使用这个对象来访问其属性和方法。
在这里插入图片描述

示例

#1.设计一个类
class student:
    name=None
    age=None
#2.创建一个对象
xkk=student()
#3.对象属性进行赋值
xkk.name="xkk"
xkk.age=23

print(xkk.age)

在这里插入图片描述
在这里插入图片描述
可以看出,类中:
不仅可以定义属性用来记录数据也可以定义函数,用来记录行为其中:
类中定义的属性(变量),我们称之为:
成员变量
类中定义的行为(函数),我们称之为:
成员方法

成员方法

在这里插入图片描述
在成员方法内访问成员变量
self.成员变量

self关键字

在这里插入图片描述

class student:
    name=None
    age=None
    def st(self,say):
        print(say,f"我今年{self.age}岁了")
        #在成员方法内访问成员变量self.成员变量

xkk=student()

xkk.name="xkk"
xkk.age=23
xkk.st("你好")
print(xkk.age)

结果
你好 我今年23岁了
23

类与对象

在这里插入图片描述

class clock:
    name=None
    price=None
    def attribute(self,frequency,time):
        import winsound
        winsound.Beep(frequency,time)
clock1=clock()
clock1.name="xkk"
clock1.price=9.99
clock1.attribute(500,4000)

构造方法

在这里插入图片描述

class aaa:
    name=None
    age=None
    def __init__(self,name,age):
        self.name=name
        self.age=age
xkk=aaa("xkk",23)
dl=aaa('dsf',28)

1.构造方法的名称是:
init,注意init前后的2个下划线符号
2.构造方法的作用:
·构建类对象的时候会自动运行
·构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋

3.注意事项:
·构造方法不要忘记self关键字
·在方法内使用成员变量需要使用self

其他类内置方法(魔术方法)

魔术方法
上文学习的_init_构造方法,是Python类内置的方法之一。
这些内置的类方法,各自有各自特殊的功能,这些内置方法我们称之为∶魔术方法
_init_构造方法
_str_字符串万法
_lt_小于、大于符号比较
_le_小于等于、大于等于符号比较
eq
符号比较
在这里插入图片描述
在这里插入图片描述

_str_符号

在这里插入图片描述
在这里插入图片描述

class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __str__(self):
        return "%s,%d"%(self.name,self.age)
student1=student("xkk",23)

print(student1)

_Lt_符号

在这里插入图片描述
就比如stu1<stu2,那么stu1就会作为__lt__定义中的self,而stu2作为other

class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __lt__(self, other):
        return self.age<other.age
student1=student("xkk",23)
student2=student('kyb',11)
print(student1>student2)#stu2作为self
结果
Ture

le小于等于比较

在这里插入图片描述

class student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __le__(self, other):
        return self.age<=other.age
student1=student("xkk",11)
student2=student('kyb',11)
print(student1>=student2)#student2作为self
结果
Ture

eq比较运算

在这里插入图片描述

小结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL9.0安装教程

软件介绍 MySQL是一个关系型数据库管理系统&#xff0c;是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&#xff0c;关系数据库管理系统) 应用软件之一。 软件下载 https://pan.qu…

预报名管理系统--论文pf

TOC springboot374预报名管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广泛…

UI设计:蒸汽波风格页面有啥特征,应用哪些场景?

一、什么是蒸汽波风格 蒸汽波风格&#xff08;Steampunk&#xff09;是一种将19世纪工业时代的技术和想象力与未来科技相结合的艺术和文化流派。它通常描绘了一个类似维多利亚时代的世界&#xff0c;其中蒸汽动力是主要能源&#xff0c;机械装置和复杂的齿轮系统被广泛应用。 …

C#商城源码与.NET技术在电商领域的应用_OctShop

在当今互联网化商业的浪潮中&#xff0c;网上商城成为了企业拓展市场、提升竞争力的重要手段。而 C# 商城源码和.NET 相关的技术在构建高效、稳定、安全的网上商城中发挥着关键作用。OctShop将深入探讨 C# 商城源码、.NET 商城源码、C# 网上商城以及.NET Core 商城源码的特点、…

JavaScript基础(34)_BOM介绍、BOM对象

BOM 浏览器对象模型&#xff0c;BOM可以使我们通过JS来操作浏览器。在BOM中为我们提供了一组对象&#xff0c;用来完成对浏览器的操作。 BOM对象 Window&#xff1a;代表整个浏览器的窗口&#xff0c;同时window也是网页中的全局对象。Navigator&#xff1a;代表当前浏览器的…

VS2022实用调试技巧超详解

文章目录 1. 什么是 bug2. 什么是调试(debug)3. Debug和 Release4.VS调试快捷键4.1 环境准备4.2 调试快捷键 5. 监视和内存观察5.1 监视5.2 内存 6. 调试举例17. 调试举例29. 编程常见错误归类9. 1 编译型错误9.2 链接型错误9. 3 运行时错误 本文章以VS2022为例讲解调试功能&am…

Linux内核分析(调度类和调度实体)

文章目录 前言一、调度类1. stop_sched_class2. dl_sched_class3. rt_sched_class4. fair_sched_class5. idle_sched_class总结 二、调度类中的操作函数三、调度实体 前言 调度是操作系统内核的一个关键职责&#xff0c;它涉及到如何合理分配CPU时间给不同的进程或线程。在Lin…

SpringBoot依赖之Spring Data Redis 一 String类型

Spring Data Redis(一) 概念 Spring Data Redis (AccessDriver) 依赖名称: Spring Data Redis (AccessDriver)功能描述: Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Re…

输入输出(I/0)流

一、 File: 是所有文件或者文件夹的路径抽象表现形式 file自动重写了toString方法&#xff0c;所以直接打印显示的是file内容 构造方法&#xff1a; public File(String pathname) public File(String parent,String child) public File(File parent,…

rust操作rabbitmq

Rust 操作 Rabbitmq 使用docker快速部署rabbitmq docker pull rabbitmq:management # 15672为rabbitmq 管理员端口&#xff0c;默认账号密码为guest(账号密码相同) docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:managementrust 添加amqp库lapin car…

影院订票系统/电影院售票系统/电影院购票系统的设计与实现/影院管理系统

摘 要 “互联网”的战略实施后&#xff0c;很多行业的信息化水平都有了很大的提升。但是目前很多电影院日常业务仍是通过人工管理的方式进行&#xff0c;需要在影院订票投入大量的人力进行很多重复性工作&#xff0c;这样就浪费了许多的人力物力&#xff0c;工作效率较低&…

【Godot4自学手册】第四十五节用着色器(shader)制作水中效果

本节内容&#xff0c;主要学习利用着色器制作水波纹效果&#xff0c;效果如下&#xff1a; 一、搭建新的场景 首先我们新建场景&#xff0c;根节点选择Node2D&#xff0c;命名为Water&#xff0c;给根节点添加两个Tilemap节点&#xff0c;一个命名为Background主要用于绘制地…

JUC介绍

一、并发与并行 1.并发 早期计算机CPU是单核的&#xff0c;为了提高CPU的利用率&#xff0c;减少等待时间&#xff0c;使用到了并发工作的理论 并发就是将CPU资源合理分配给多个任务&#xff0c;当一个任务执行I/O操作时&#xff0c;转去执行其他任务 2.并行 针对多核CPU&…

25届科大讯飞飞星计划 AI研究算法工程师 面经

目录 一面/技术面 2024/08/15 &#x1f4cb; 总结&#xff1a; 本来应该是在7月底面试的&#xff0c;但因为有事就拖到了现在&#xff0c;或许是飞星计划里最晚面试的一批&#xff1f;面试官很和蔼&#xff0c;问的问题不算难&#xff0c;总体体验还算不错。 一面/技术面 2024/…

MySQL基础--逻辑存储结构,架构

逻辑存储结构 表空间&#xff08;ibd 文件&#xff09;&#xff1a;一个 mysql 实例可以对应多个表空间&#xff0c;用于存储记录&#xff0c;索引等数据。 段&#xff1a;分为数据段&#xff0c;索引段&#xff0c;回滚段&#xff0c;InnoDB 是索引组织表&#xff0c;数据段就…

Unity引擎基础知识

目录 Unity基础知识概要 1. 创建工程 2. 工程目录介绍 3. Unity界面和五大面板 4. 游戏物体创建与操作 5. 场景和层管理 6. 组件系统 7. 脚本语言C# 8. 物理引擎和UI系统 学习资源推荐 Unity引擎中如何优化大型游戏项目的性能&#xff1f; Unity C#脚本语言的高级编…

修复 iPad 卡在准备更新或正在进行更新的问题

为什么iPad 更新卡住了&#xff1f;原因很难确定&#xff0c;因为 iPad 的许多故障和状况都可能导致 iPad 无法更新 iOS 和应用程序。此外&#xff0c;很难弄清楚这种情况持续了多长时间。但是&#xff0c;您不必太担心&#xff0c;因为这只是一个小案例&#xff0c;您可以阅读…

Java入门(上)

day01 - Java基础语法 1. 人机交互 1.1 什么是cmd&#xff1f; 就是在windows操作系统中&#xff0c;利用命令行的方式去操作计算机。 我们可以利用cmd命令去操作计算机&#xff0c;比如&#xff1a;打开文件&#xff0c;打开文件夹&#xff0c;创建文件夹等。 1.2 如何打…

单元训练13:串行接口的进阶应用

蓝桥杯&#xff0c;小蜜蜂&#xff0c;单元训练13&#xff1a;串行接口的进阶应用 /** Description:* Author: fdzhang* Email: zfdcqq.com* Date: 2024-08-17 15:41:34* LastEditTime: 2024-08-17 19:48:35* LastEditors: fdzhang*/ #include "stc15f2k60s2.h"#defi…

算法工程师第四十天(647. 回文子串 516.最长回文子序列 动态规划总结篇 )

参考文献 代码随想录 一、回文子串 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 示例 1&#xff1a; 输入&#xff1a;s "abc"…