python11_类和对象 (一)
面向对象编程是最有效的软件编写方法之一。编写类时,定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。
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_类和对象 (一)相关推荐
- C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)
1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...
- C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)
1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...
- C02-程序设计基础提高班(C++)第9周上机任务-类和对象
第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: [任务1]阅读.运行下 ...
- 函数返回类的对象与拷贝构造函数
C++中,如果我们在一个函数中,定义了一个类的对象,然后返回这个对象,在main函数中用一个对象去接受这个返回的对象的时候,这里面参与的函数调用大家可能不熟悉,这里通过程序和注释的方式给大家讲解一下. ...
- ZJU-java进阶笔记 第一、二周(类与对象,对象交互)
对象变量是对象的管理者,而非所有者 VendingMachine vm = new VendingMachine(); this指代当前对象 成员函数可以直接(不需要点运算符)调用本类的其他成员函数 ...
- 3个题目熟悉类和对象基础
1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示 ...
- 刻意练习:Python基础 -- Task10. 类与对象
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
- java中具有继承关系的类及其对象初始化顺序
先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...
- python的类和对象_Python类与对象实验
一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...
最新文章
- C#Winform版获取Excel文件的内容
- LTE MAC PDU
- [PAPER-RECORD]
- MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
- asp.net core 自定义 Policy 替换 AllowAnonymous 的行为
- Postgresql快速写入\/读取大量数据(.net)
- c++快速读取配置文件
- 【Java基本功】一文读懂final关键字的用法
- Oracle 用户,角色,权限的sql语句
- 如何查看python的工作目录_Python3基础 os listdir curdir查看当前工作目录的所有文件的名字...
- java删除cookie_JAVAWEB使用保存cookie、删除cookie、获取cookie工具类
- 抖音点赞最多的标题_抖音吸引人评论的标题,抖音什么标题容易点赞
- 咪蒙这么火是怎么做到的
- Ubuntu状态栏显示网速,内存利用率等信息——sysmonitor
- 密钥文件snk 、AssemblyInfo.cs
- ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统)
- 如何安装一个虚拟机?(简单15步,安装VMware16.1.1详细教程)
- TypeError: Cannot read property 'xxxx' of undefined报错的情况分析
- vim 使用体会(1) Normal模式 当你启动Vim后,Vim会处于Normal模式。在Vim的Normal模式下,所有的键就是功能键,下面附上Vim快捷键分布图。 (2) Insert模
- 毕业论文word排版技巧
热门文章
- 【精简版】MyBatis-Plus学习笔记
- 基于前端Vue后端.NetCore Web后台管理系统通用开本框架采用前后端分离技术,前端使用vue2.6.0,后端使用.netcore3.1,支持跨平台、多租户
- python能做的100件事-01-python处理office文档
- EXCEL常用函数笔记
- JavaScript yyds
- 拓事件|让开发更具创想,拓保小伙伴技能拉满,拿下腾讯·云开发大赛一等奖
- 【软工】软工文档——可行性研究报告
- android 与 蓝牙模块 hc06通信app 开发要点
- 云和恩墨助力渤海财险 保障核心系统高效运行
- 解决xxx packages are looking for funding