对象的简单介绍 | Python从入门到精通:入门篇之七

简介: 本节将带你见识什么是对象,如何面向对象。

第六节:如何复制字符串?

对象介绍

python是一门面向对象的语言,“面向”大家都知道,你面向我,我面向你,那么什么是对象呢,又怎么面向对象呢?

7.1对象(object)

首先要明白:一切皆对象!程序运行时,所有的数据都是要存储在内存当中然后再执行的。而对象就是内存当中专门用来存储指定数据的一块区域。所以对象实际上就是一个容器,专门用来存储数据,像前文讲过的数值、字符串、布尔值、None都是对象。
一张图带你了解内存和对象的关系:
image.png

7.2对象的结构

每个对象都要保存三种数据:

  • ID(标识):

1、ID用来表示对象的唯一性,每个对象都有唯一的ID,就像是每个人的身份证号一样。
2、可以通过id()来查看对象的id

image.png
3、id是由解析器生成的,在CPython中,就是对象的内存地址。
4、注意:对象一旦创建,id就永远不会改变。

  • type(类型)

1、类型用来表示当前对象所属的类型,比如:int,str,bool。。
2、类型决定了对象有哪些功能

3、Python是一种强类型语言,对象一旦创建,类型也不可更改。
4、通过type()函数来查看对象的类型。

  • value(值)

1、值就是对象中存储的具体的数据
2、对于有些对象来说,值是可变的。

3、对象分为两大类:可变对象和不可变对象,
可变对象的值是可变的;
不可变对象的值是不可变的,之前学习的对象都是不可变对象。

练习:尝试自己画一下对象的内存结构。

7.3变量和对象

对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名。
二者在内存中的关系是:
image.png
①变量中存储的不是对象的值,而是对象的id(内存地址),当我们使用变量的时候,实际上就是通过对象的id来查找对象。
②变量中保存的对象,只有在为变量重新赋值时才会改变。
③变量和变量之间是相互独立的,修改一个变量不会对其他的变量不会产生影响。

7.4类型转换

所谓的类型转换,是指将一个类型的对象转换为其他类型。
注意:类型转换不是改变对象本身的类型,而是根据当前对象的值来创建一个新对象。
类型转换的四个函数
1、int()

用来将其他的对象转换成整型;

规则:
1、布尔值:true:1 false:0
2、浮点数:直接取整,省略小数点后的所有位数。
3、字符串:合法的整数字符串,直接转换成对应的数字;
如果不是合法的整数字符串,则报错。
4、对于其他不可转换成整型的对象,会抛出异常。ValueError。

image.png

image.png
调用int()函数将a转换成整型,并赋值给a;
注意:int()函数不会对原来的变量产生影响,它是将对象转换为指定的类型,并将其作为返回值返回。如果要对原来的变量产生影响,需要重新赋值。
image.png
image.png

2、float()

和int()函数的规则基本一致,不同的是会将对象转换为浮点数。

3、str()

将对象转换为字符串。

true:'true'
false:'false'
123:'123'。。。

4、bool()

可以将对象转换成布尔值。

任何对象都可以转换成布尔值。
规则:所有表示空性的都会转换成false,其余都转换成true。
哪些是空性:0,none,''。。。
第八节:带你认识运算符(上)

视频学习:阿里云大学之Python进阶必看

配套Python进阶文章点击此处获取

相关文章
|
4天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
7天前
|
Python
【Python21天学习挑战赛】-入门必备
【Python21天学习挑战赛】-入门必备
|
10天前
|
存储 Python
python入门指南
python入门指南
15 0
|
11天前
|
机器学习/深度学习 自然语言处理 算法
利用Python进行情感分析:从入门到实践
【4月更文挑战第24天】 在数字化时代,文本数据无处不在。理解这些文本背后的情绪倾向对于品牌管理、市场研究乃至政治分析都至关重要。本文将引导读者通过Python编程语言实现基本的情感分析任务,涵盖从预处理步骤到模型训练和结果解释的全过程。我们将使用流行的自然语言处理库NLTK和机器学习框架scikit-learn来构建一个简单的情感分析模型,并探索如何将其应用于实际场景中。
|
11天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
11天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
11天前
|
Python
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
|
11天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
|
11天前
|
机器学习/深度学习 人工智能 运维
Python从入门到精通:1.1.2了解Python基本概念与安装Python环境
Python从入门到精通:1.1.2了解Python基本概念与安装Python环境