《Python编程:从入门到实战》学习笔记(第2版) 第1-2章 起步&变量和简单数据类型

【写在前面】为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的《Python编程:从入门到实战》书籍开始吧。有问题欢迎在评论区讨论,互相学习,good good study,day day up!

【特别说明】这是第二版的《Python编程:从入门到实战》,书本的Python版本是3.7.2,我自己运行代码的环境是3.7.0,不同Python版本的功能不同。

来源:《Python编程:从入门到实战》,侵权删!

目录

第1章 起步

1.1 搭建编程环境

1.2 在不同操作系统中搭建 Python 编程环境

1.3 解决安装问题

第2章 变量和简单数据类型

2.1 运行 hello_world.py 时发生的情况

2.2 变量

2.2.1 变量的命名和使用

2.3 字符串

2.3.1 使用方法修改字符串的大小写

2.3.2 合并(拼接)字符串

2.3.3 使用制表符或换行符来添加空白

2.3.4 删除空白

2.3.5 使用字符串时避免语法错误

2.4 数字

2.4.1 整数

2.4.2 浮点数

2.4.3 使用函数 str()避免类型错误

第1章 起步

在本章中,你将运行自己的第一个程序 ——hello_ world.py

1.1 搭建编程环境

【这部分网上有很多现有教程,请自行查阅资料。】

1.2 在不同操作系统中搭建 Python 编程环境

Python是一种跨平台的编程语言,它能够运行在所有主要的操作系统中。【这部分网上有很多现有教程,请自行查阅资料。】

2. 安装文本编辑器  

Geany 是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需
通过终端来运行);使用不同的颜色来显示代码,以突出代码语法;在终端窗口中运行代码,让
你能够习惯使用终端。
在大多数 Linux 系统中,都只需执行一个命令就可以安装 Geany
$ sudo apt-get install geany

如果这个命令不管用,请参阅http://geany.org/Download/ThirdPartyPackages/的说明。
为编写第一个程序,需要启动Geany。为此,可按超级(Super)键(俗称Windows键),并在系统中搜索Geany。找到Geany后,双击以启动它;再将其拖曳到任务栏或桌面上,以创建一个快捷方式。接下来,创建一个用于存储项目的文件夹,并将其命名为python_work(在文件名和文件夹名中,最好使用小写字母,并使用下划线来表示空格,因为这是Python采用的命名约定)。 回到Geany,选择菜单File->Save As,将当前的空Python文件保存到文件夹python_work,并将其命名为hello_world.py。扩展名.py告诉Geany,文件包含的是Python程序;它还让Geany知道如何运行该程序,并以有益的方式突出其中的代码。

浏览 Python 主页( http://python.org/

1.3 解决安装问题

如果你按前面的步骤做,应该能够成功地搭建编程环境。但如果你始终无法运行程序hello_world.py,可尝试如下几个解决方案。
  1. 程序存在严重的错误时,Python将显示tracebacktrackback可能会提供线索,让你知道是什么问题让程序无法运行。
  2. 离开计算机,先休息一会儿,再尝试。别忘了,在编程中,语法非常重要,即便是少一个冒号、引号不匹配或括号不匹配,都可能导致程序无法正确地运行。请再次阅读本章相关的内容,再次审视你所做的工作,看看能否找出错误。
  3. 推倒重来。你也许不需要把一切都推倒重来,但将文件hello_world.py删除并重新创建它也许是合理的选择。
  4. 让别人在你的计算机或其他计算机上按本章的步骤重做一遍,并仔细观察。你可能遗漏了一小步,而别人刚好没有遗漏。
  5. 请懂Python的人帮忙。当你有这样的想法时,可能会发现在你认识的人当中就有人使用Python。
  6. 本章的安装说明在网上也可以找到,其网址为https://www.nostarch.com/pythoncrash-course/。对你来说,在线版也许更合适。
  7. 到网上寻求帮助。附录C提供了很多在线资源,如论坛或在线聊天网站,你可以前往这些地方,请求解决过你面临的问题的人提供解决方案。不要担心这会打扰经验丰富的程序员。每个程序员都遇到过问题,而大多数程序员都会乐意帮助你正确地设置系统。只要能清晰地说明你要做什么、尝试了哪些方法及其结果,就很可能有人能够帮到你。正如前言中指出的,Python社区对初学者非常友好。
任何现代计算机都能够运行Python ,如果你遇到了困难,请想办法寻求帮助吧。前期的问题可能令人沮丧,但很值得你花时间去解决。能够运行hello_world.py 后,你就可以开始学习 Python了,而且编程工作会更有趣,也更令人愉快。

第2章 变量和简单数据类型

在本章中,你将学习可在 Python 程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。 

2.1 运行 hello_world.py 时发生的情况

运行hello_world.py时,Python都做了些什么呢?实际上,即便是运行简单的程序,Python所做的工作也相当多:
hello_world.py
>>> print("Hello Python world!")
运行上述代码时,你将看到如下输出:
Hello Python world!

2.2 变量

下面来尝试在 hello_world.py 中使用一个变量。在这个文件开头添加一行代码,并对第 2 行代码进行修改,如下所示:
>>> message = "Hello Python world!"
>>> print(message)
运行这个程序,你会发现,输出与以前相同:
Hello Python world!
我们添加了一个名为 message 变量 。每个变量都存储了一个 —— 与变量相关联的信息。在这里,存储的值为文本“Hello Python world! ”。添加变量导致Python 解释器需要做更多工作。处理第 1 行代码时,它将文本“ Hello Python world!”与变量 message 关联起来;而处理第 2 行代码时,它将与变量 message 关联的值打印到屏幕。
下面来进一步扩展这个程序:修改 hello_world.py ,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加下面两行代码:
>>> message = "Hello Python world!"
>>> print(message)
>>> message = "Hello Python Crash Course world!"
>>> print(message)
运行这个程序,将看到两行输出:
Hello Python world!
Hello Python Crash Course world!
在程序中可随时修改变量的值,而 Python 将始终记录变量的最新值

2.2.1 变量的命名和使用

在Python 中使用变量时,需要遵守一些规则和指南。请务必牢记下述有关变量的规则。
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1 ,但不能将其命名为 1_message
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名 greeting_message可行,但变量名greeting message 会引发错误。
不要将 Python 关键字和函数名用作变量名,即不要使用 Python 保留用于特殊用途的单词,如print
变量名应既简短又具有描述性
慎用小写字母l和大写字母O ,因为它们可能被人错看成数字 1 0
要创建良好的变量名,需要经过一定的实践。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。

2.3 字符串

字符串 就是一系列字符。在 Python 中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:
"This is a string."
'This is also a string.'
这种灵活性让你能够在字符串中包含引号和撇号:
'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community."

2.3.1 使用方法修改字符串的大小写

对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。请看下面的代码,并尝试判断其作用:
>>> name = "ada lovelace"
>>> print(name.title())
输出如下:
Ada Lovelace
title() 首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以像下面这样做:
>>> name = "Ada Lovelace"
>>> print(name. upper() )
>>> print(name. lower() )
这些代码的输出如下:
ADA LOVELACE
ada lovelace
存储数据时,方法 lower() 很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。

2.3.2 合并(拼接)字符串

在很多情况下,都需要合并字符串。例如,你可能想将姓和名存储在不同的变量中,等要显示姓名时再将它们合而为一:
>>> first_name = "ada"
>>> last_name = "lovelace"
>>> full_name = first_name + " " + last_name
>>> print(full_name)  #ada lovelace
Python 使用加号( +)来合并字符串。这种合并字符串的方法称为 拼接 。通过拼接,可使用存储在变量中的信息来创建完整的消息。

2.3.3 使用制表符或换行符来添加空白

在编程中, 空白 泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其更易读。
要在字符串中添加制表符,可使用字符组合 \t ,如下述代码 所示:
>>> print("Python")
Python
>>> print("\tPython")
        Python
要在字符串中添加换行符,可使用字符组合 \n
>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript
还可在同一个字符串中同时包含制表符和换行符。字符串 "\n\t" Python 换到下一行,并在下一行开头添加一个制表符。下面的示例演示了如何使用一个单行字符串来生成四行输出:
>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
        Python
        C
        JavaScript

2.3.4 删除空白

在程序中,额外的空白可能令人迷惑。对程序员来说, 'python' 'python ' 看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。
空白很重要,因为你经常需要比较两个字符串是否相同。例如,在用户登录网站时检查其用户名。但在一些简单得多的情形下,额外的空格也可能令人迷惑。
Python 能够找出字符串开头和末尾多余的空白。要确保字符串末尾没有空白,可使用方法 rstrip()
>>> favorite_language = 'python '  #该字符串末尾包含多余的空白
>>> favorite_language
'python '
>>> favorite_language.rstrip()  #调用方法 rstrip()后,末尾的空格被删除了
'python'
>>> favorite_language   #再次询问favorite_language的值,依然包含多余的空白
'python '
要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中。
你还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法 lstrip() strip()
>>> favorite_language = ' python '
>>> favorite_language.rstrip()
' python'
>>> favorite_language.lstrip()
'python '
>>> favorite_language.strip()
'python'

2.3.5 使用字符串时避免语法错误

语法错误 是一种时不时会遇到的错误。程序中包含非法的 Python 代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会导致Python 将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python 代码,从而引发错误。
下面演示了如何正确地使用单引号和双引号。
>>> message = "One of Python's strengths is its diverse community."
>>> print(message)
撇号位于两个双引号之间,因此 Python 解释器能够正确地理解这个字符串:
One of Python's strengths is its diverse community.
然而,如果你使用单引号, Python 将无法正确地确定字符串的结束位置:
>>> message = 'One of Python's strengths is its diverse community.'
>>> print(message)
而你将看到如下输出:
  File "apostrophe.py", line 1
        message = 'One of Python's strengths is its diverse community.'
                                                  ^
SyntaxError: invalid syntax
这种 语法错误 表明,在解释器看来,其中的有些内容不是有效的Python 代码。
注意 编写程序时,编辑器的语法突出功能可帮助你快速找出某些语法错误。看到 Python 代码以普通句子的颜色显示,或者普通句子以Python 代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。

2.4 数字

在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储Web 应用信息等。 Python根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看Python 是如何管理它们的。

2.4.1 整数

Python 中,可对整数执行加( +)减(-)乘(*)除(/ 运算。
>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5
在终端会话中, Python 直接返回运算结果。 Python 使用两个乘号表示乘方运算
>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000
Python 支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让Python 按你指定的次序执行运算,如下所示:
>>> 2 + 3*4
14
>>> (2 + 3) * 4
20
在这些示例中,空格不影响 Python 计算表达式的方式,只是当你阅读代码时,能迅速确定先执行哪些运算。

2.4.2 浮点数

Python 带小数点的数字都称为 浮点数 。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。
从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字, Python 通常都会按你期望的方式处理它们:
>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4
但需要注意的是,结果包含的小数位数可能是不确定的:
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004
所有语言都存在这种问题,没有什么可担心的。 Python 会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可;在第二部分的项目中,你将学习在需要时处理多余小数位的方式。

2.4.3 使用函数 str()避免类型错误

你经常需要在消息中使用变量的值。例如,假设你要祝人生日快乐,可能会编写类似于下面的代码:
birthday.py
>>> age = 23
>>> message = "Happy " + age + "rd Birthday!"
>>> print(message)
你可能认为,上述代码会打印一条简单的生日祝福语: Happy 23rd birthday! 。但如果你运行这些代码,将发现它们会引发错误:
Traceback (most recent call last):
File "birthday.py", line 2, in
message = "Happy " + age + "rd Birthday!"
TypeError: Can't convert 'int' object to str implicitly
这是一个 类型错误 ,意味着 Python 无法识别你使用的信息。 Python 发现你使用一个值为整数(int)的变量,但它不知道该如何解读这个值 ,这个变量表示的可能是数值23 ,也可能是字符 2 3 。像上面这样在字符串中使用整数时,需要显式地指出你希望Python 将这个整数用作字符串,可调用函数 str() ,它让 Python 将非字符串值表示 为字符串
>>> age = 23
>>> message = "Happy " + str(age) + "rd Birthday!"
>>> print(message)
这样, Python 就知道你要将数值 23 转换为字符串 ,将显示你期望的消息:
Happy 23rd Birthday!
大多数情况下,在 Python 中使用数字都非常简单。如果结果出乎意料,请检查 Python 是否按你期望的方式将数字解读为了数值或字符串。

说明:记录学习笔记,如果错误欢迎指正!写文章不易,转载请联系我。 

你可能感兴趣的:(python,AI,笔记,python,linux,开发语言,人工智能)