面向对象编程是最有效的软件编写方法之一。编写类时,定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。

1.类与对象的语法规范

关键字:class

语法:

class 类名:属性值类函数

# 创建实例

类名()

规范:

  • 类名首字母大写,驼峰命名
  • 类名需要做到见名之意,提高代码的可读性

如何定义类:所有认为具有共同属性以及共同特征的,都可以划分为一个类。

2.编写第一个类

2.1 编写类

平时说的物以类聚,人以群分,就是一种类的思想,根据特征去进行划分。小汽车是现在很普遍的交通工具,那么肯定有如下特征:能跑、有发动机、有车轮、不会飞。我们可以把具有这类特征的东西,都归纳到小汽车,然后把这些特征转换成python里面的类:

class Car:can_running = Trueengine = Truewheel = Truefly = Falsedef run(self):print('跑。。。')print(Car)
print(Car.can_running)
print(Car.fly)# 类的外面定义,容易出问题
Car.color = '黑色'
print(Car.color)# 类外面修改某个类属性
Car.wheel = False
print(Car.wheel)

总结:

类属性(局部变量):属于整个类的特征,所有的成员的某个特征的值都是一样的 ,又叫类变量 。是在类的下方定义变量 。本质:属性就是个局部变量

2.2 调用属性以及类方法

在2.1里面,可以看到这个汽车类,具有4个属性值:can_running、engine、wheel、fly,同时拥有1个类函数:run()。一旦我们创建一个实例,那么就默认可以拥有上述的4个属性以及1个函数的使用权限。接下来我们将学习一个实例如何调用属性以及函数(也就是类方法)。

2.2.1 创建实例

创建实例,也叫创建对象。创建实例的语法如下:

实例 = 类名()

在2.1里面的汽车类,创建一个实例如下:

# 表示对象,类似于函数的调用
b = Car()

2.2.2 实例调用属性

类里面的属性和方法都只有实例才有权限去进行调用和使用,并不能脱离实例,直接去调用类里面的函数以及属性。

# 表示对象,类似于函数的调用
b = Car()
print(b.engine)
  • 修改类属性

# 表示类
a = Car
a.engine = '本田发动机'
# 当同样的类属性修改之后,对象相同的属性也会跟着变
print(b.engine)
  • 修改实例属性

# 表示类
a = Car# 表示对象,类似于函数的调用
b = Car()# 个体行为的变化,不会影响其他对象,也不会影响这个类
b.engine = '丰田发动机'
print(a.engine)
print(b.engine)

总结:

  • 对象可以直接使用类当中所有的类属性
  • 当同样的类属性修改之后,对象相同的属性也会跟着变
  • 个体行为的变化,不会影响其他对象,也不会影响这个类

2.2.3 实例调用类函数(类方法)

类里面有1个函数,只有实例才有权限去进行调用。编写代码进行示范如下:

# 创建对象
my_car = Car()# 实例调用类方法,需要明确的告诉它要调用哪个方法
my_car.run()

python11_类和对象 (一)相关推荐

  1. C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)

    1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...

  2. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  3. C02-程序设计基础提高班(C++)第9周上机任务-类和对象

    第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: [任务1]阅读.运行下 ...

  4. 函数返回类的对象与拷贝构造函数

    C++中,如果我们在一个函数中,定义了一个类的对象,然后返回这个对象,在main函数中用一个对象去接受这个返回的对象的时候,这里面参与的函数调用大家可能不熟悉,这里通过程序和注释的方式给大家讲解一下. ...

  5. ZJU-java进阶笔记 第一、二周(类与对象,对象交互)

    对象变量是对象的管理者,而非所有者 VendingMachine vm = new VendingMachine(); this指代当前对象 成员函数可以直接(不需要点运算符)调用本类的其他成员函数 ...

  6. 3个题目熟悉类和对象基础

    1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示 ...

  7. 刻意练习:Python基础 -- Task10. 类与对象

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  8. java中具有继承关系的类及其对象初始化顺序

    先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...

  9. python的类和对象_Python类与对象实验

    一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...

最新文章

  1. C#Winform版获取Excel文件的内容
  2. LTE MAC PDU
  3. [PAPER-RECORD]
  4. MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
  5. asp.net core 自定义 Policy 替换 AllowAnonymous 的行为
  6. Postgresql快速写入\/读取大量数据(.net)
  7. c++快速读取配置文件
  8. 【Java基本功】一文读懂final关键字的用法
  9. Oracle 用户,角色,权限的sql语句
  10. 如何查看python的工作目录_Python3基础 os listdir curdir查看当前工作目录的所有文件的名字...
  11. java删除cookie_JAVAWEB使用保存cookie、删除cookie、获取cookie工具类
  12. 抖音点赞最多的标题_抖音吸引人评论的标题,抖音什么标题容易点赞
  13. 咪蒙这么火是怎么做到的
  14. Ubuntu状态栏显示网速,内存利用率等信息——sysmonitor
  15. 密钥文件snk 、AssemblyInfo.cs
  16. ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统)
  17. 如何安装一个虚拟机?(简单15步,安装VMware16.1.1详细教程)
  18. TypeError: Cannot read property 'xxxx' of undefined报错的情况分析
  19. vim 使用体会(1) Normal模式 当你启动Vim后,Vim会处于Normal模式。在Vim的Normal模式下,所有的键就是功能键,下面附上Vim快捷键分布图。 (2) Insert模
  20. 毕业论文word排版技巧

热门文章

  1. 【精简版】MyBatis-Plus学习笔记
  2. 基于前端Vue后端.NetCore Web后台管理系统通用开本框架采用前后端分离技术,前端使用vue2.6.0,后端使用.netcore3.1,支持跨平台、多租户
  3. python能做的100件事-01-python处理office文档
  4. EXCEL常用函数笔记
  5. JavaScript yyds
  6. 拓事件|让开发更具创想,拓保小伙伴技能拉满,拿下腾讯·云开发大赛一等奖
  7. 【软工】软工文档——可行性研究报告
  8. android 与 蓝牙模块 hc06通信app 开发要点
  9. 云和恩墨助力渤海财险 保障核心系统高效运行
  10. 解决xxx packages are looking for funding