第八章 Python类(面向对象编程)

news2024/11/26 7:29:53

系列文章目录

第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库


文章目录

  • 系列文章目录
  • 面向对象编程思想
    • 面向过程编程
    • 面向对象编程
    • 类、对象它们之间的关系
    • 类的其他特点
  • 类的定义与实例化
    • 类的书写规范
    • 使用class关键字定义类
    • 类的实例化
    • 示例:定义一个电脑类
  • 类的初始化函数
  • 总结


面向对象编程思想

面向过程编程

是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程

面向对象编程

是一种计算机变成架构,以对象为中心的编程思想,对现实世界理解和抽象的方法

类、对象它们之间的关系

  • 类:类是对现实生活中一类具有共同特征的事物的抽象描述。例如电脑类、空调类、人类
  • 对象:类的实体,实际存在事物,例如电脑类的"主机"、“显示器”
  • 类与对象的关系:类是由对象来定,这个过程叫做抽象化。用类创建对象,这个过程成为实例化

类的其他特点

  • 封装:把相同对象的功能(函数)、属性(变量)组合在一起
  • 方法:对象的功能(例如电脑能上网、看片),实际在类里边就是函数,称为成员函数,也可以称为方法
  • 属性:对象的特征(例如电脑都有主机、显示器)
  • 实例化:用类创建对象,这个对象具体是什么东西,例如你用的电脑、我这个人
    在这里插入图片描述

类的定义与实例化

类的书写规范

  • 类一般采用大驼峰命名,例如MyClass(单词首字母大写)
  • 类注释,用于说明该类的用途,提高可阅读性
  • 类只存在两种数据:属性和方法
  • 声明属性必须赋值
  • 声明方法的第一个参数必须是self,其他与普通函数一样
  • 一般会使用__init__方法给类指定的初始状态属性

使用class关键字定义类

# 定义类
class ClassName():
    def funcName(self):
        pass

类的实例化

通常称为:

  • 实例化:用类创建对象的过程
  • 类实例:用类创建对象
  • 实例属性:对象的属性
  • 实例方法:对象调用的方法
示例:
pc = Computer() # 类实例化,pc是类实例
print(pc.host)  # 访问类属性,查看电脑配置
pc.office()     # 访问类方法,让电脑做事

示例:定义一个电脑类

'''
电脑(类):
    特征(属性):主机,显示器,键盘,鼠标...
        host = "4C8G"
        displayer = "27寸"
        keyboard = "机械键盘"
        mouse = "无线鼠标"
    功能(方法):办公,上网,看片...
        def office():
            办公
        def internet():
            上网
        def movies():
            玩游戏
'''
class Computer():
    '''
    电脑类
    '''
    # 属性(特征)
    def __init__(self):
        self.host = "4C8G"
        self.displayer = "27寸"
        self.keyboard = "机械键盘"
        self.mouse = "无线鼠标"
    # 方法(功能)
    def office(self):
        # 因为是测试所有print,正常应该是return
        print("办公")  
        # return "办公"
    def internet(self):
        print("上网")
    def movies(self):
        print("看片")

# 类实例
pc = Computer()
print(pc.host)
pc.office()
print('==============')
print(pc.office())

在这里插入图片描述

类的初始化函数

class Computer():
    '''
    电脑类
    '''
    # 属性(特征)
    def __init__(self,name):
        self.host = "4C8G"
        self.displayer = "27寸"
        self.keyboard = "机械键盘"
        self.mouse = "无线鼠标"
        self.name = name
    # 方法(功能)
    def office(self):
        print(self.name+"在办公")  # 因为是测试所有print,正常应该是return
        # return "办公"
    def internet(self):
        print('%s'"在上网"%self.name)
    def movies(self):
        print(f"{self.name}在看片")

pc1 = Computer("小王")
pc1.office()
pc2 = Computer("小赵")
pc2.internet()
pc3 = Computer("小黄")
pc3.movies()

在这里插入图片描述

class Calc():
    '''
    计算机类
    '''
    # 属性
    def __init__(self,num1,num2):
        self.num1 = num1
        self.num2 = num2
    # 方法
    def jia(self):
        return self.num1 + self.num2
    def jian(self):
        return self.num1 - self.num2
    def cheng(self):
        return self.num1 * self.num2
    def chu(self):
        return self.num1 / self.num2

AA = Calc(5,6)
print(AA.jia())
print(AA.jian())
print(AA.cheng())
print(AA.chu())

在这里插入图片描述


总结

以上就是今天学习的内容,本文仅仅简单学习了python的类以及面向对象编程的思想。

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

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

相关文章

数票通批量开票小妙招,双11开票不用愁

每年双十一都是电商企业和财务“疯狂”的日子,随着疫情的回暖,消费者的消费能力蹭蹭上涨,商家的口袋盆满钵满,而财务的加班永无休止,批量开票成为财务人摆脱双十一加班的必备技能。 面对双十一狂欢,相信不少…

一文带你深入浅出Web的自动化测试工具Selenium【建议收藏】

文章目录 前言第01节 Selenium概述第02节 安装浏览器驱动(以Google为例)第03节 定位页面元素1. 打开指定页面2. id 定位3. name 定位4. class 定位5. tag 定位6. xpath 定位7. css 选择器8. link 定位9. 示例 有道翻译 第04节 浏览器控制1. 修改浏览器窗…

3D目标检测实战 | 图解KITTI数据集评价指标AP R40(附Python实现)

目录 1 准确率和召回率2 P-R曲线的绘制3 AP R11与AP R40标准4 实际案例 1 准确率和召回率 首先给出 T P TP TP、 F P FP FP、 F N FN FN、 T N TN TN的概念 真阳性 True Positive T P TP TP 预测为正(某类)且真值也为正(某类)的样本数,可视为 I o U > I o U t…

3Dmax Vary 渲染 玻璃 水 啤酒 的参数尝试

折射率: 空气折射率为1.0 水折射率一般 1.3 -1.4 ,啤酒折射率一般 1.4-1.55 玻璃折射率 一般 1.5-1.7 金刚石钻石 2.0 透明物体 密度越大 折射率越高。折射:同一束光在不同密度介质传播时发生的 光路弯折。如果密度不断发生变化&#…

C++常用格式化输出

在C语言中可以用printf以一定的格式打印字符,C当然也可以。 输入输出及命名空间还不太了解的小伙伴可以看一看C入门讲解第一篇。  在C中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2…

UE5——源码阅读——4——引擎预初始化

预初始化的开始处理和结束处理 将GEnginePreInitPreStartupScreenEndTime设置为平台的时间 ON_SCOPE_EXIT 这个就是在程序结束后执行一个Lambda,这个弘的目的是简化代码确保正确的时机正确的执行清理操作,降低因资源泄露而导致BUG的概率 处理延迟注册…

【GEE】基于GEE-Landsat8数据集地表温度反演(LST热度计算)

老样子,最近在做生态方面的项目,然后需要分析城市的热岛效应,想了想还是用GEE计算比较简单,直接下载影像太麻烦了。所以在网上看看了资料,踩了踩坑终于是将代码写出来了。秉承着取之于民、用之于民的想法,今…

如何解决msvcp140.dll文件丢失问题,msvcp140.dll丢失的解决方法

在使用电脑时,有时我们可能会遇到一些错误提示,比如“找不到msvcp140.dll文件”。这是因为某些程序需要依赖于msvcp140.dll文件才能正常运行。这个问题是可以解决的,大家不需要担心,而且其解决的方法是有很多种的,今天我们就来给大…

VS编译器中创建新源文件,自动添加----#define _CRT_SECURE_NO_WARNINGS 1

每次创建新的源文件时都需要添加比较麻烦,我们让每次创建时自动添加,步骤如下: 1、右键编译器--->属性--->目标(存放的是编译器的文件位置我们找到文件的位置) 2、如下步骤找到“newc file.cpp”文件&#xff0…

MySQL基础之约束、多表查询、事务【基础完结】

1 SQL约束 SQL约束是用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被终止。 1.1 如何创建约束 • 在创建表的时候进行规定(create table)• 修改表的时候进行规定(alter table) 1.2 约束的…

设计师的宝库:5个供应免费素材的设计网站

今天给大家推荐五个设计素材网站,设计师看到就要码住,码住就是灵感。 即时设计 即时设计是一个可在线使用的设计资源网站,在网页中打开「即时设计」的官网,登录账号后即可使用即时设计提供的设计资源。 即时设计 - 可实时协作的…

史上最全Windows安全工具汇总

史上最全Windows安全工具锦集来源于网络整理,安全性自测。 下载方式:史上最全Windows安全工具汇总

为了理直气壮怼回去,写了一个日志切面输出接口出入参数

1.背景 我们在日常排查问题过程中知道,入参传错是导致接口调用失败的常见原因之一。特别是提供给第三方调用的回调接口和openAPI接口,由于无法保证第三方开发人员的水平,经常问题不断,反反复复找你问为啥掉不通,甚至吐…

多人游戏小程序源码系统 带完整的搭建教程

现如今,人们对于娱乐和社交的需求也在不断提高。多人游戏作为一种能够满足人们社交需求的游戏类型,越来越受到用户的欢迎。同时,小程序作为一种轻量级的应用程序,在微信等平台上得到了广泛的应用和推广。因此,开发多人…

【LeetCode力扣】287.寻找重复数(中等)

1、题目介绍 原题链接&#xff1a;287. 寻找重复数 - 力扣&#xff08;LeetCode&#xff09; 示例 1&#xff1a; 输入&#xff1a;nums [1,3,4,2,2] 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums [3,1,3,4,2] 输出&#xff1a;3提示&#xff1a; 1 < n &l…

hbase代码报错(以及解决方法)

》》》直接上代码 package HBase_Apiimport org.apache.hadoop.conf.Configuration import org.apache.hadoop.hbase.{HBaseConfiguration, TableName} import org.apache.hadoop.hbase.client.{Connection, ConnectionFactory, Get, Put} import org.apache.hadoop.hbase.ut…

烟台海森大数据——数据驱动材料研发,本土化为安全护航

随着大数据时代的来临&#xff0c;人们的生产和生活&#xff0c;各方面都在发生着深刻的变化。作为与国计民生息息相关的材料行业&#xff0c;也在数据时代迎来了新的机遇与挑战。 新材料是我国重点推进的战略性新兴产业之一&#xff0c;对于支撑整个战略性新兴产业发展&#…

海康Visionmaster-全局脚本:通过全局脚本加载本地图像的方法

通过 VM 的全局脚本加载本地图像的步骤如下所示&#xff1a; 1、打开全局脚本&#xff0c;选择需要的示例 2、在运行函数中插入如下代码 1. public int Process() 2. { 3. //m_operateHandle 二次开发 SDK 操作句柄 4. if (m_operateHandle IntPtr.Zero) 5. { return ImvsSd…

Solidity在函数里面返回中文报错原因

错误 from solidity: ParserError: Invalid character in string. If you are trying to use Unicode characters, use a unicode"…" string literal. –> contracts/text.sol:90:24: | 90 | return (1,true,“你好”); 原因与解决方法 在Solidity中&#xff0c;…

unittest 统计测试执行case总数,成功数量,失败数量,输出至文件,生成一个简易的html报告带饼图

这是一个Python的单元测试框架的示例代码&#xff0c;主要用于执行测试用例并生成测试报告。其中&#xff0c;通过unittest模块创建主测试类MainTestCase&#xff0c;并加载其他文件中的测试用例&#xff0c;统计用例的执行结果并将结果写入文件&#xff0c;最后生成一个简单的…