《树莓派Python编程指南》——第3章 Python基础3.1 变量、值和类型

简介:
  1. 本节书摘来自华章计算机《树莓派Python编程指南》一书中的第3章,第3.1节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章 Python基础

在前面章节中,我们直接深入Python程序中,希望能够给你一个概念——什么是Python。但你还不清楚它具体是如何工作的。本章中,我们将回答这些问题,并详细介绍如何在Python中创建自己的程序。在后继的章节中,我们将分别介绍Python的不同特性,帮助你为树莓派编写不同类型的程序。

3.1 变量、值和类型

第2章中,我们看到变量可以将数据存储下来供我们在别的地方使用。它们是程序员手里的一个强大工具。现在让我们来看看它们究竟是什么。如果你之前有过其他语言的编程经验,在这里会发现Python和其他语言有点不同。
在Python解释器中输入语句:


<a href=https://yqfile.alicdn.com/e3249589fd9282d73208213978ba06a4953f641b.png" >

它告诉Python你想使用一个名字为score,值为0的变量。在此之后,Python只要看到score,就会用值0来替换score。为了验证这一点,继续输入:

55291cc76cf4c01bbbe86b24a495e5925291f8f8

请记住,Python是顺序执行我们的命令的,在使用score之前必须先给它赋值。否则,Python将会报错。
如果想改变score的值,只需要给它赋一个新值,如:

429eaacd45cf5d39acbbca48244e4dc1c234355e

现在Python再遇到score时就会用1来替换它(你可以再次执行print(score)来验证一下)。你也可以在更新它的值时使用它:

d60c9d8d6d6c471f967f7d3f49744ab4b0dc4861

变量几乎可以使用任何名字但必须以字母或下划线开始,并且不能使用Python关键字(如if、for等)。Python的命名习惯是使用小写字母,用下划线将单词分开,如:

1b32a86e033f9762fc203c9c45412ec407250e85

在前面的例子中,所有的值都是数字,然而,值不只可以是数字,也可以文字,如:

769a7904e06ace989733a8690a9c8cd7db953d89

我们甚至可以把同一个变量轮换赋值成数字和文字,例如:

200df75f7d112a1809d0ae6c444f1a58897bfa33

然而,变量的当前值只能是一种类型。
3.1.1 值和类型
看到数字3时,你只是看到一个3,而不关心它究竟是一个文字,还是数字。3就是3。Python却不一样。每个数据都有特定的类型,这样Python才知道该如何处理它们。通过函数type()可以看到Python数据的类型。在Python解释器中输入:

<a href=https://yqfile.alicdn.com/37e0512c35fcca34c90efbe26120a63ec06af62b.png" >

Python告诉我们,第一个是int(整数integer的简写),第二个是str(字符string的简写)。这是因为Python认为整数3和字符3是不同的。执行下面这两行代码可以明显看出它们之间的区别:

a19d2465f83457a231da6d8d7a21269c6d56449e

第一行将两个数字加一起,而第二行却是将两个字符合并在一起。由此可见,区分值的类型非常重要,如果出错,将会得到非常有意思的结果。为了探索更多的类型,可以输入:

<a href=https://yqfile.alicdn.com/c6eee70ca57ae3e665b7c1995625af1b6f37d8ea.png" >

第一行输出float(一个浮点数表示一个实数,小数点位置不固定)。第二行输出bool(布尔类型,只有两个值:True和False)。
3.1.2 数字排序
数据的具体类型决定了Python可以执行哪些操作。这里我们从数值开始(包括int和float类型,但不包括string,虽然它也包含数字)。对于数值,可以有两种操作类型:比较和数值操作。比较,需要两个操作数,返回值为bool型。如表3-1所示。


<a href=https://yqfile.alicdn.com/7764026cd56dd27a964c1c388de5531a919aebc2.png" >

数值操作返回一个数值类型,如表3-2所示。


ea37c4cfc48c73cc37e49ff6b992e32b3f230fff

你可以在Python解释器中输入任何一个操作符来验证一下。例如:

cc81a53e3fadf9ecd4af979e0cdbb4e0e1191480

在程序中使用数值运算,通常都将其返回值赋值给某个变量。例如:

<a href=https://yqfile.alicdn.com/be7dce760e230fc2b9804b7577026ce813e4b9db.png" >

3.1.3 使用Strings保存文字
string类型可以用来保存任何文字。创建字符串只需要将数据用单引号或者双引号括起来就可以了。在Python中,不论哪种引号都可以。我们首选双引号,因为它可以处理带’号(单引号或撇号)的字符串。但这绝不是普遍适用的。有些程序员喜欢使用单引号,因为其输入起来更方便。
这个数据类型不同于其他类型,因为许多时候,string不只是单个数据而是一组字母。它的名字也反映了这个特点——字符“串”,一串字符。
和数值类型一样,Python也为我们提供了一些操作方法。表3-3给出了一些常用的操作。


9b68093c66d3498d1a38b9d454e2096d608cdd4b

3.1.4 布尔值:真或假
最后我们来看bool类型。它非常简单,只有两种可能取值:True和False。注意在Python中,这两个值的首字母要大写,并且不需要任何引号。同时,这个值通常不存在变量中(虽然我们在第2章中见到过存在变量中),它通常用于条件语句如if的判断条件中,我们将在本章后面部分详细介绍。其主要操作符是与(and)、或(or)和非(not)。
非,就是简单地转换下取值:


d99900458de7dfee08f12e0e84cbf46bf9f0074f


1a65d0cda380fe255f670d7de0d5ec80766b6ae9

与,需要两个操作数,如果两个数都为真,则返回真,否则,返回假:


<a href=https://yqfile.alicdn.com/15a16667bf6e3a9e3801356909dc3be08e61daee.png
" >

或,也需要两个操作数,如果两个数中任何一个为真,则返回真:

8347b690f37003364bf89f65b6ba451bd86245bb

3.1.5 数据类型转换
使用函数int()、float()和str()可以转换数据类型。它们分别将其他数据类型转换为整数、浮点数和字符串。然而它们却不能随意转换。如果将浮点数转为整数,Python将舍去所有小数部分。当字符串中只有一个字符时,才能转换成数字。但是,其他类型几乎都可以转换成字符串。下面给出了一些例子。

0dd4cf88ba0ac6be6c405dd66ec9a453083fbb5e

3.1.6 知识测试
下面是一些Python语句。看一下你是否能弄懂它们的意思。想出来什么意思之后,将它们输入Python解释器检验自己的判断。提示:有一些语句可能会导致错误。


e9b9a8f18bb2f80c0763b2c58b2061dcf1b772fd

练习1
下面程序中哪些是变量,它们的值是什么,类型是什么?答案在本章结尾。如果不确定,可以在代码中的某些地方加上print语句,并输入Python解释器中看看结果。当程序的运行结果和我们期望的不一样时,这个方法很有用,可以用来确定某些代码究竟做了什么事。

<a href=https://yqfile.alicdn.com/096b583a94d49524c3174e62366914baa6320135.png" >
相关文章
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
355 1
|
6月前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
326 102
|
11月前
|
索引 Python
Python的变量和简单类型
本文介绍了Python中变量命名规则、常用变量类型及字符串操作。变量命名需遵循字母、数字和下划线组合,不能以数字开头且不可与关键字冲突。字符串支持单引号、双引号或三引号定义,涵盖基本输出、转义字符、索引、拼接等操作。此外,还详细解析了字符串方法如`islower()`、`upper()`、`count()`等,帮助理解字符串处理技巧。
288 15
|
7月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
708 3
|
11月前
|
人工智能 Python
[oeasy]python082_变量部分总结_variable_summary
本文介绍了变量的定义、声明、赋值及删除操作,以及Python中的命名规则和常见数据类型。通过示例讲解了字符串与整型的基本用法、类型转换方法和加法运算的区别。此外,还涉及异常处理(try-except)、模块导入(如math和random)及随机数生成等内容。最后总结了实验要点,包括捕获异常、进制转化、变量类型及其相互转换,并简述了编程中AI辅助的应用策略,强调明确目标、分步实施和逐步巩固的重要性。更多资源可在蓝桥、GitHub和Gitee获取。
319 97
|
7月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
247 0
|
7月前
|
IDE API 开发工具
Python类型注解:让代码“开口说话”的隐形助手
Python类型注解为动态语言增添类型信息,提升代码可读性与健壮性。通过变量、函数参数及返回值的类型标注,配合工具如mypy、IDE智能提示,可提前发现类型错误,降低调试与协作成本。本文详解类型注解的实战技巧、生态支持及最佳实践,助你写出更高质量的Python代码。
282 0
|
10月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
222 26
|
10月前
|
人工智能 安全 IDE
Python 的类型安全是如何实现的?
本文探讨了 Python 的类型安全实现方式。从 3.5 版本起,Python 引入类型提示(Type Hints),结合静态检查工具(如 mypy)和运行时验证库(如 pydantic),增强类型安全性。类型提示仅用于开发阶段的静态分析,不影响运行时行为,支持渐进式类型化,保留动态语言灵活性。泛型机制进一步提升通用代码的类型安全性。总结而言,Python 的类型系统是动态且可选的,兼顾灵活性与安全性,符合“显式优于隐式”的设计哲学。
225 2
|
11月前
|
存储 程序员 Python
Python 变量和简单数据类型
本文介绍了 Python 编程的基础知识,从创建第一个 Python 文件 `hello_world.py` 开始,讲解了 Python 文件的运行机制及解释器的作用。接着深入探讨了变量的定义、命名规则和使用方法,并通过示例说明如何修改变量值。同时,文章详细解析了字符串的操作,包括大小写转换、变量插入及空白字符处理等技巧。此外,还涵盖了数字运算(整数与浮点数)、常量定义以及注释的使用。最后引用了《Python 之禅》,强调代码设计的美学原则和哲学思想。适合初学者快速掌握 Python 基础语法和编程理念。
269 5

推荐镜像

更多