当前位置: 首页 > news >正文

Python类与对象指南

目录

Python中的类与对象

1、类与对象

2、类的定义

3、实例化对象

4、属性和方法的调用

特殊的self参数

类方法的其他参数

函数与方法的区别

 5、总结​编辑


Python中的类与对象

1、类与对象

类代表一些拥有相同特性与功能的事物。对象是类中的某个具体的实例。

举个例子,将人比喻成类,“赵四”就是类中的一的对象

2、类的定义

为了方便理解,我们定义一个电脑的类

电脑
品牌雷米
颜色黑色
功能编写代码

下面,通过定义类的方式来编写代码

#定义一个类
class Computer():# 类的属性brand = "雷米"color = "black"# 类的方法def coding(self):print("编写代码")

关键字class是用来告诉Python,我们要定义类。

class在英文中本意就是“种类”,它是定义类的固定格式。

为了区分类与函数,类的名称首字母建议大写。一个英文冒号,表明接下来缩进的代码是属于这个类的。

类的属性,简单来说,属性就是类中的变量的别称。类的方法,表示这个类的一些功能,简单来说,方法就是类中的函数的别称

self是一个由程序自动传入的特殊参数。接下来讲解详细用法

3、实例化对象

类,代表一些拥有相同特性与功能的事物,是一个抽象的统称。

当我们要使用类的时候,必须通过该类创建一个具体的实例,也就是一个对象。

我们把类创建对象的过程,称为实例化对象。

# 定义一个机器类Machines
class Machines():  # 定义类的属性,形状shape为"圆形",尺寸size为"大"shape = "圆形"size = "大"# 定义类的方法high_speed,输出高速运转def high_speed(self):print("高速运转")# 定义类的方法low_speed,输出低速运转def low_speed(self):print("低速运转")
# 实例化名为mymachines的对象 
mymachines = Machines()
# 输出mymachines对象
print(mymachines)

 一个变量名,给对象设定的名称。示例中,mymachines是通过类Machines创建的一个具体的对象。这段代码会输出一串地址

4、属性和方法的调用

以这段代码为例,说明如何调用属性和方法

class Machines():  shape = "圆形"size = "大"def high_speed(self):print("高速运转")def low_speed(self):print("低速运转")
mymachines = Machines()
print(mymachines.shape)
mymachines.high_speed()

 

属性的调用语法为:对象.属性名示例中,mymachines是对象,紧跟句点.和属性名shape。

方法的调用语法为:对象.方法名()。示例中,myPhone是对象,紧跟句点.和方法名makeCall。方法名后还有一对小括号( )。

特殊的self参数

在前面,我们说到了类方法中,会有一个参数self。 

简单来说,self参数代表的就是实例化生成的对象。即对象会将自己传递给self参数。

类方法的其他参数

因为类中的方法,本质上也是函数。所以我们也可以在调用类方法时,在括号内传入参数。

 

函数与方法的区别

最后,我们再来简单了解一下方法和函数的区别。

函数一般直接使用,比如print()函数。而方法使用句点表示法,紧跟在某一个对象后面使用,比如.append()方法

 5、总结

http://www.dtcms.com/a/312953.html

相关文章:

  • java贪吃蛇小程序
  • 个人项目介绍:STM32F407核心多层电路板
  • Java试题-选择题(8)
  • 25 渗透测试培训课程第一部分 - 信息收集 内容概要
  • 江协科技STM32 14-1 WDG看门狗
  • Flask ORM 模型(轻松版)
  • 08.Redis 持久化
  • UniApp 实现顶部固定导航栏 Tab 及滚动变色效果
  • Python篇--- Python 的加载、缓存、覆盖机制
  • 复现cacti的RCE
  • 版本升级到V1.17.1后多了哪些便捷操作
  • [论文阅读] 人工智能 + 软件工程 | 英国研究软件追踪:为何大量代码成了“失踪人口”?
  • Mysql 9.4主从复制部署(传统文件日志位置mysqldump)
  • 【暑期每日一题】洛谷 P1749 [入门赛 #19] 分饼干 II
  • Python中的import和from...import有什么区别?
  • Python篇---PyPI
  • 自私挖矿攻击
  • 安卓audio 架构解析
  • 决策树的实际案例
  • Ethereum: 了解炙手可热 Layer 2 解决方案 Base
  • C++手撕基于ID3算法的决策树
  • 玩转 Playwright 有头与无头模式:消除差异,提升爬虫稳定性
  • Linux 系统调用 stat 完全用例
  • Memcached Slab分配器:零碎片的极速内存管理
  • FFT/STFT/小波/HHT:振动诊断工具生死局,选错=灾难
  • MySQL——增删改查操作
  • Compose笔记(四十一)--ExtendedFloatingActionButton
  • 嵌入式开发学习———Linux环境下IO进程线程学习(二)
  • 【C++】面向对象编程:继承与多态的魅力
  • kafka创建topic报错解决思路之一