对象的简单介绍 | 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进阶文章点击此处获取

相关文章
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!
|
10天前
|
测试技术 Python
Python中的装饰器:从入门到精通
【10月更文挑战第7天】本文旨在通过浅显易懂的方式,向读者介绍Python中装饰器的概念、用法和高级应用。我们将从装饰器的定义开始,逐步深入到如何创建和使用装饰器,最后探讨装饰器在实战中的应用。文章将结合代码示例,帮助读者更好地理解和掌握这一强大的工具。
|
6天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
28 0
|
11天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
64 0
|
1天前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
32 3
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
5天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
11 1
|
7天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
32 2
|
6天前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
35 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
10天前
|
数据可视化 开发者 Python
使用Python进行数据可视化:从入门到精通
【10月更文挑战第7天】本文将引导您通过Python的可视化库,如Matplotlib和Seaborn,来探索和展示数据。我们将通过实际代码示例,学习如何创建各种图表,包括条形图、散点图和直方图等,并讨论如何优化这些图表以更好地传达信息。无论您是初学者还是有一定基础的开发者,这篇文章都能帮助您提高数据可视化技能。