写点什么

挑战 30 天学完 Python:Day1 火力全开 - 初识 Python(含系列大纲)

作者:MegaQi
  • 2022 年 9 月 03 日
    上海
  • 本文字数:5217 字

    阅读完需:约 17 分钟

挑战30天学完Python:Day1火力全开-初识Python(含系列大纲)

🎉 开篇说:本系列为 Python 基础学习,原稿来源于 github 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过 30 天完成正儿八经的系统化实践。此系列适合零基础同学,会简单用但又没有系统学习的使用者。总之如果你想提升自己的 Python 技能,欢迎加入《挑战 30 天学完 Python》。


Tips:首篇全文较长约 6500 字,如果没有整段时间学习,可以先收藏或拉到底部加入挑战学习群,一起相互监督交流成长!


以下为本系列学习大纲


为什选它?

Python 是一种非常接近自然语言的高级编程语言,因此易于学习和使用。Python 被各行各业和包括 Google 在内的公司使用,它被应用于开发 Web、桌面应用系统管理和机器学习。Python 在数据科学领域和机械学习社区是很受欢迎的语言。希望这些理由可以说服你开始学习 Python 这门语言。


💡 补充:在测试行业里很多自动化、工具也都在使用 Python,如果没有任何开发语言基础,简单易学可以快速入门的它是非常不错的选择。

环境配置

安装 Python

运行 python 脚本需要安装依赖环境,让我们从官方 https://www.python.org/downloads/ 进行下载。


需要注意的是默认下载页面的版本,一般是最新的 Release 版本,如图中的红圈出是3.10.6,如果是纯学习 3.6+都可以,这里笔者为了兼容更好选择了3.8.10版本,后续的代码演示也会基于此版本。



下载历史版本需要在 looking for specific release?里查找,比如Ctrl+F搜索到了 Python 3.8.10,点击对应行的 Download 即会跳转到下载页面。


💡 Tips:图中还可以看到 3.8.11、12 版本,这个两个是后来的小版本升级,进入 download 只有源码包,没有直接安装包,所以为了方便安装我们最终选定 10 版本。



如果你使用的是 windows 用户,可以点击图中红色框内对应系统位数版本下载,如果是 Mac 用户选择绿色框内对应 os 系统版本下载,其他 linux 系统则需要通过 source 版本配置。



安装包方法进行安装比较简单就省略了,如果有问题或者需要配置环境变量,网上安装教程也很多,自行搜索解决下,这里当 python 安装好后让我们启动一个终端,通过命令行检查下安装情况。

python --version
# 如mac或系统有共存的2.7版本,需要通过python3查看python3 --version
复制代码



当你看到版本信息的时候就证明 python 已经在电脑上安装好,如果你是其他版本也无妨,不影响接下来的学习。

Python Shell

Python 是解释型脚本语言,因此它不需要编译,这意味着它将逐行执行代码。Python 带有一个 Python Shell(交互式命令行)。它被用于执行单行 python 命令并得到相应结果。

python3  #python 
复制代码



此时 python 交互式 shell 已经打开,并且等待你写入代码(python 脚本),在符号 >>>写下你的代码然后按下 Enter 回车键,那么接下来让我们在 python shell 写下第一个脚本。



很好,在交互 Shell 控制台上你已经写下了第一个脚本,简单做了个加法计算2+3,并得到结果5输出。那么如何关闭 python shell 呢?要退出只需要在符号>>>输入 exit()命令并且按下回车键即可。



到现在为止,你已经知道如何打开 Python shell 以及如何退出它了。如果你写下的代码能被 python 正确解读,它将返回一个结果,否则将看到一个错误。让我们故意制造一个错误来看看它是如何返回的。



正如你看到返回的错误,Python 很聪明,它发现了一个 Syntax Error: invalid syntax 错误。使用了错误的乘法语法,因为在 python 中(x)不是一个有效关键词,要实现乘法计算,我们需要使用(*)来替换(x)。返回的错误很明显地展示了如何修复它。


从程序中找到错误并移除它的过程叫 调试,接下来让我们用 * 替换掉 x 通过调试来修复错误。



我们的 bug 此时已经被正确修复,代码正常运行并得到预期的结果(2 乘 3 等于 6)。作为一名程序员在每天的编程中你都会遇到这样那样的错误。知道如何调试问题是一件好事。为了更好的调试你应该了解常见的错误的类型。你将来可能会遇到的一些 Python 错误类型包括但不限于 _SyntaxError、IndexError、NameError、ModuleNotFoundError、KeyError、ImportError、AttributeError、TypeError、ValueError、ZeroDivisionError _等。在后续的实战中将会看到更多不同的 错误类型信息


让我们继续在 Python shell 做一些练习,回到终端并次进入交互模式,不要忘记进入命令是pythonpython3



在 Python shell 模式下,我们先进行一些基础的数学运算操作(加法、减法、乘法、除法、取模、指数)。


编写正式 pyton 代码之前先做一些数学计算:


  • 3 + 7 = 10

  • 7 - 2 = 5

  • 2 * 6 = 12

  • 3 / 2 = 1.5

  • 3 ** 2 = 3 x 3 = 9


再在做一些而外的操作:


  • 5 % 2 = 1 取模即求余数

  • 5 // 2 = 2 地板除即求商


接下来让我们把上边的数学练习转成 python 代码。不过在这之前我们先在打开的 python shell 开头写下注释。注释 在 python 代码中是不被执行的,所以我们可以在合适的地方增加一些文字说明来增加代码可读性。python 中单行注释以 hash(#)符号开头。以下演示和如何在 python 写注释

# 注释以hash开头# 这是一个python的注解,因为它开头用了符号(#) 
复制代码



在继续下一节之前,让我们在 Python shell 做更多的练习。通过exit()命令退出 shell 模式,然后再重新打开并尝试编写一些字符交互。



完成上边的学习和练习,让我们进入下一部分:安装编辑器来进行代码编写。

使用 Visual Studio

Python shell 非常适合尝试和测试小型脚本代码,但不适合大型项目开发。在实际工作环境中,开发人员使用不同的代码编辑器进行代码编写。在这 30 天的 python 编程学习挑战中,我们将使用非常流行的开源的 Visual Studio 代码编辑器,推荐使用官方https://code.visualstudio.com/最新版本。当然如果电脑上已经有其他的编辑器,根据你的个人情况进行选择。


💡 Tips:VS Code 是一个非常不错的开源编辑器,虽然商国内商业版的 Pycharm 用的更多,但如果没你没有商业 Key 非常不建议花大量的时间取折腾一个 IDE,编程学习重要的是学习语言语法和应用。



假设你已经下载并安装好了 VS Code IDE,让我们来看下是如何使用它。

如何使用 VS Code

通过桌面或者应用程序里点击 Visual Stuido 图标启动,当你打开它时你将看到这样的默认欢迎界面,你可以去掉勾选 show welcome page on startup 关闭,这样在每次启动后将不再出现。


💡 Tips:由于网络原因可能网站打不开或或者下载失败,可以搜下已下载安装包或者找联系我发送你对应的包。



此时你可以打开现有项目,从 git 仓库中 clone 项目,也可以新建一个文件夹或文件。在电脑中合适的位置我们创建一个文名称为 30DaysOfPython 文件夹,然后使用 Visual Studio 打开它。如果提示信任警告,请选择 Yes。



打开项目文件夹后,在展开项目并且鼠标放在上边的时候会快捷按钮,正如图片中所示,我已经通过创建文件按钮,创建了一个helloworld.py尝试完成你的创建。



事实上 VS Code 是支持多语言的,在对应区域下载默认会带有本地语言包,如果没有你可以通过切换到插件商店,搜索 chinese 安装进行安装。



如果没安装或没完全中文化,可以通过快捷键Command + Shift + P(Window 为 Ctrl + Shift +P)打开命令配置,输入"configure language" 选中语言显示配置->zh-cn重新配置。



重启后你就能看到全中文界面。



恭喜你,你已经完成开发环境的配置,让我们开始进行编码吧。

Python 基础

代码可以在 Python shell 或者 IDE 中编写。它的文件扩展名为.py

缩进

在文本中一个缩进是空白,许多语言中缩进用于增加代码的可读性,不过 Python 中用来创建代码块。其他语言中(如 Java)通常用括号创建代码块。编写 python 代码时常见的错误之一就是错误的缩进。

注释

在我们编写的代码中注释是非常重要,它使得代码变得更易读。Python 中任何行以(#)开头的是一行注释,它在代码运行时候是不会被执行的。


示例:单行注释

# 这是第一行注释# 这是第二行注释# Python是很受欢迎的语言
复制代码


示例:多行注释使用三个引号将文本引用以来,它将是一个多行的注释

"""这是多行注释它可以进行换行.Python变得越来越流行"""
复制代码

数据类型

在 Python 中有几种数据类型,让我们从最常见一些开始学习。不同的数据类型在其他章节中得到详细讲解。目前来讲,先让我们来来了解下都有哪些数据类型,再次说明下,你现在无需立马弄懂每个类型。

数字

  • 整数 int:整数(负、零和正)示例:... -3、-2、-1、0、1、2、3 ...

  • 浮点数 float:十进制数 示例 ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ...

  • 复杂 complex 示例 1 + j, 2 + 4j

字符串 str

单引号或双引号里的一个或者多个字的集合。如果字符串多于一个句子或多行,则使用三个引号。


'Hi''MegaQi''Python''我喜欢教学与分享''I hope you are enjoying the first day of 30DaysOfPython Challenge'
复制代码

布尔 bool

布尔类型只有两个值 TrueFlase,注意 T 和 F 始终是大写。

True  # 逻辑举例:灯亮着吗? 如果它是开的,则值为 TrueFalse # 灯亮着吗?如果关闭,则值为 False
复制代码

列表 List

Python list 是一个有序集合,它允许存储不同的数据类型项。类似于 JavaScript 中的数组。

# 所有类型均为数字[0, 1, 2, 3, 4, 5]
# 所有项都是字符串类型(水果)['香蕉', '橙子', 'Mango']
# 混合类型,包括了字符、整数、布尔和浮点['芒果', 10, False, 9.81]
复制代码

字典 dict

Python 字典对象是键值对格式的无序数据集合。

{'name':'大奇','country':'中国', 'age':35, 'is_married':True,'skills':['Python', 'React', 'Node', 'Java', 'Vue']}
复制代码

元组 tuple

元组也是一个有序集合,但它不同于 List。元组一旦创建就不能修改,它们是不可变的。


# 七大行星('地球', '木星', '海王星', '火星', '金星', '土星', '天王星', '水星') 
复制代码

集合 set

集合是类似于列表和元组的数据类型的集合。与列表和元组不同,集合项不是有序的。与数学一样,set在 python 仅保存不重复的值。

{2, 4, 3, 5}{3.14, 9.81, 2.7} # 在set中顺序并不重要
复制代码

查看数据类型

要检查某些数据/变量的类型,我们使用type函数。在以下 Python shell 中,你将看到不同的 python 数据类型:


Python 文件

假设已经创建好了 python 学习文件夹,如名为 30DayOfPython,但如果没有请通过编辑器创建它。并且在此文件夹中,创建一个名为helloworld.py的文件。现在让我们在 Visual Studio 上看下是如何进行代码交互的。


Python Shell 中打输出结果时没用使用 print 打印,但在 VS Code 中要看到结果需要使用*print()函数,print()括号内接受一个或多个参数,参考形式如 print('参数 1','参数 2')。具体可以看下边的例子。


例子(文件为 helloworld.py)

# Day 1 - 30天Python学习挑战# 数据计算print(3 + 7)             # 加 addition(+)print(7 - 2)             # 减 subtraction(-)print(2 * 6)             # 乘 multiplication(*)print(3 / 2)             # 除 division(/)print(3 ** 2)            # 次方 exponential(**)print(5 % 2)             # 求余 modulus(%)print(5 // 2)            # 求商 Floor division operator(//)
# 打印数据类型print(type(10)) # 整数 Intprint(type(3.14)) # 浮点 Floatprint(type(1 + 3j)) # 复数 Complex numberprint(type('MegaQi')) # 字符串 Stringprint(type([1, 2, 3])) # 列表 Listprint(type({'名称':'大奇'})) # 字典 Dictionaryprint(type({9.8, 3.14, 2.7})) # 集合 Setprint(type((9.8, 3.14, 2.7))) # 元组 Tuple
复制代码


要运行 python 文件,请参考下图。


  • 方式 1:通过点击 VS Code 上的三角▶️按钮运行

  • 方式 2:在编辑底部打开的终端上输入 python3 helloworld.py 来运行


💡 提示:如果没显示终端,依次通过编辑器菜单->终端->新建终端 打开。



你太棒了,你已经完成了第 1 天的挑战,并且正在成功的路上前进。现在趁热做一些练习吧,来加强大脑和肌肉记忆。

第 1 天练习

练习 1 级:


  1. 请用命令查看你正在使用的 python 版本。

  2. 打开 python shell 并进行如下操作。操作数是 5 和 3。

  3. 加法(+)

  4. 减法(-)

  5. 乘法(*)

  6. 求余(%)

  7. 除法(/)

  8. 次方(**)

  9. 求商(//)

  10. 在 python shell 上编写如下字符串并输出:

  11. 你的姓名

  12. 你的国家

  13. 你喜欢的一句话

  14. I am enjoying 30 days of python

  15. 检查以下数据类型:

  16. 10

  17. 9.8

  18. 3.14

  19. 5 - 5j

  20. ['Python','Java']

  21. (1,2,3)

  22. 你的国家


练习 2 级:


  1. 在 30DaysOfPython 项目文件夹下创建一个名为 day_1 的新文件夹。并在此文件下里创建一个新的文件 helloworld.py,然后重做练习 1 中 2-4 项。记得 python 文件打印结果要使用函数*print() 。编写好你的代码后保存并用两种不同的方式运行它。


练习 3 级:


  1. 为不同 python 数据类型写一个示例,例如 Number(Integer, Float, Complex)、String、Boolean、List、Tuple、Set 和 Dictionary

  2. 计算出两点之间的距离(2,3) 和 (10,8)


🎉 CONGRATULATIONS ! 🎉


恭喜你,如果完整地看到了最后,说明完成了第一天的学习挑战。为了更有学习挑战氛围,大奇创建了一个微信群,用于相互切磋交流心得,相互监督打卡学习和提交作业。欢迎关注加我备注“Python 学习营”拉你入群。也希望在后期能有些赞助给大家谋点书啥的福利,所以大家多多点赞、在看、分享支持,让更多人看见,让干货文章更有价值的传播。


英文原文https://github.com/Asabeneh/30-Days-Of-Python/blob/master/readme.md

发布于: 2022 年 09 月 03 日阅读数: 55
用户头像

MegaQi

关注

InfoQ签约作者 |公众号: 大奇测试开发 2018.02.15 加入

分享一些系列测试平台开发教程,也记录一些自己研究的技术,遇到的问题,总之想分享一些干货内容,愿给这个行业贡献微不足道的力量,不断突破不断成长。

评论

发布
暂无评论
挑战30天学完Python:Day1火力全开-初识Python(含系列大纲)_9月月更_MegaQi_InfoQ写作社区