# 30-Days-Of-Python **Repository Path**: tonybearpan/Thirty-Days-Of-Python ## Basic Information - **Project Name**: 30-Days-Of-Python - **Description**: 来自github的Python30天翻译 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/tonybearpan/Thirty-Days-Of-Python - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2021-10-28 - **Last Updated**: 2024-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐍 Python 30 天 |# 日期 | 标题 | |------|:---------------------------------------------------------:| | 第一天 | [介绍](./readme.md)| | 02 | [变量和内置方法](./02_Day_Variables_builtin_functions/02_variables_builtin_functions.md)| | 03 | [运算符](./03_Day_Operators/03_operators.md)| | 04 | [字符串](./04_Day_Strings/04_strings.md)| | 05 | [列表](./05_Day_Lists/05_lists.md)| | 06 | [元组](./06_Day_Tuples/06_tuples.md)| | 07 | [集合](./07_Day_Sets/07_sets.md)| | 08 | [字典](./08_Day_Dictionaries/08_dictionaries.md)| | 09 | [条件](./09_Day_Conditionals/09_conditionals.md)| | 10 | [循环](./10_Day_Loops/10_loops.md)| | 11 | [方法](./11_Day_Functions/11_functions.md)| | 12 | [模块](./12_Day_Modules/12_modules.md)| | 13 | [列表推导式](./13_Day_List_comprehension/13_list_comprehension.md)| | 14 | [高阶函数](./14_Day_Higher_order_functions/14_higher_order_functions.md)| | 15 | [类型错误](./15_Day_Python_type_errors/15_python_type_errors.md)| | 16 | [日期时间](./16_Day_Python_date_time/16_python_datetime.md) | | 17 | [异常处理](./17_Day_Exception_handling/17_exception_handling.md)| | 18 | [正则表达式](./18_Day_Regular_expressions/18_regular_expressions.md)| | 19 | [文件处理](./19_Day_File_handling/19_file_handling.md)| | 20 | [包管理](./20_Day_Python_package_manager/20_python_package_manager.md)| | 21 | [类和对象](./21_Day_Classes_and_objects/21_classes_and_objects.md)| | 22 | [爬虫](./22_Day_Web_scraping/22_web_scraping.md)| | 23 | [虚拟环境](./23_Day_Virtual_environment/23_virtual_environment.md)| | 24 | [统计学](./24_Day_Statistics/24_statistics.md)| | 25 | [Pandas](./25_Day_Pandas/25_pandas.md)| | 26 | [网络编程](./26_Day_Python_web/26_python_web.md)| | 27 | [MongoDB](./27_Day_Python_with_mongodb/27_python_with_mongodb.md)| | 28 | [接口](./28_Day_API/28_API.md)| | 29 | [构建接口](./29_Day_Building_API/29_building_API.md)| | 30 | [结论](./30_Day_Conclusions/30_conclusions.md)| 🧡🧡🧡 HAPPY CODING 🧡🧡🧡
支持 作者 去创造更多的教材
Paypal Logo

Python30天: 第一天 - 介绍

Twitter Follow 作者: Asabeneh Yetayeh
第二版: 2021年7月
译者: Tonybearpan
2021年11月
[第2天 >>](./02_Day_Variables_builtin_functions/02_variables_builtin_functions.md) ![30DaysOfPython](./images/30DaysOfPython_banner3@2x.png) - [🐍 Python30天](#🐍-Python-30-天) - [📘 第1天](#-📘-第1天) - [欢迎](#欢迎) - [介绍](#介绍) - [为什么用 Python ?](#为什么用-Python-?) - [环境搭建](#环境搭建) - [安装 Python](#安装-Python) - [Python终端](#Python终端) - [安装 Visual Studio Code](#安装-Visual-Studio-Code) - [如何使用 visual studio code](#如何使用-visual-studio-code) - [基础 Python](#基础-Python) - [Python 语法](#Python-语法) - [Python 缩进](#Python-缩进) - [备注](#备注) - [数据类型](#数据类型) - [数字](#数字) - [字符串](#字符串) - [布尔](#布尔) - [列表](#列表) - [字典](#字典) - [元组](#元组) - [集合](#集合) - [检查数据类型](#检查数据类型) - [Python文件](#Python-文件) - [💻 习题 - 第一天](#💻-习题-第1天) - [习题: 1](#习题:1) - [习题: 2](#习题:2) - [习题: 3](#习题:3) # 📘 第1天 ## 欢迎 **恭喜**你决定参与这个Python30天编程的挑战。在这个挑战中你会学习到座位一个python开发者所需要的所有技能和完整的开发理念。 在这个挑战的最后你会过的一个_Python30天_编程挑战证书。 如果你想积极参与到这个挑战中来,你可以参入 [Python30天挑战](https://t.me/ThirtyDaysOfPython) 的telegram 组. ## 介绍 Python是一个高级通用编程语言。它是开源的解释性面向对象编程语言。 Python的创始人为荷兰人吉多·范·罗苏姆(Guido van Rossum)。 编程语言Python的名字是取自英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)。 第一个公开发行版是在1991年2月20日。这个Python30天的挑战将帮助你逐步学习最新版本的Python,Python3。所有知识点被分到30天,每一天的内容都用浅显易懂的方式和实例来介绍,供大家实际练习。 这个挑战是给想学习python编程语言的初学者和从业者设计的。 可能需要30到100天去完成这个挑战,积极参与到telegram组的朋友完成这个挑战的概率会比较高。如果你喜欢通过视频学习,可以从这个视频开始。[给绝对初学者的Python视频](https://www.youtube.com/watch?v=11OYpBrhdyM). ## 为什么用 Python ? Python是一门与自然语言非常接近的编程语言,因此它非常荣誉学习。 Python被很多机构和公司(包括谷歌)使用。 它可以开发网站、桌面端程序、系统管理后台以及机器学习库。 Python在数据科学和机器学习社区非常受欢迎。我希望这些可以说服你开始学习Python。巨蟒(Python)正在吞食世界,而你将在它吃掉你之前杀死它。 ## 环境搭建 ### 安装 Python 要运行Python脚本你需要先安装Python。快来 [下载](https://www.python.org/downloads/) python。 如果你是windows用户,点击红框内的链接。 [![installing on Windows](./images/installing_on_windows.png)](https://www.python.org/downloads/windows/) 如果你是macOS用户. 点击红框内的链接。 [![installing on Mac](./images/installing_on_macOS.png)](https://www.python.org/downloads/macos/) 检查python是否安装成功,在你的命令行终端输入下面的命令。 ```shell python --version ``` ![Python Version](./images/python_versio.png) 你可以在终端看到_Python 3.7.5_版本号,你的版本号可能与我的不同但是应该是3.6或者更高版本。 如果你已经看到了python版本号,干的很棒。Python已经安装到你的电脑上,继续下面的内容。 ### Python终端 Python是一门解释型语言,所以它不需要编译。这意味着它可以逐行的执行。Python自带一个Python Shell(Python终端)。它可以直接执行python命令并且输出结果。 Python shell等待着用户输入Python代码。当你输入代码的时候,他会解释代码并在下一行输出结果。打开你的终端或者命令行程序,输入: ```shell python ``` ![Python Scripting Shell](./images/opening_python_shell.png) Python终端启动,并且等待你输入Python代码(Python脚本)。你可以在 >>> 符号后面输入你的Python脚本,然后敲击回车键。我们在python脚本程序中输入第一个脚本。 ![Python script on Python shell](./images/adding_on_python_shell.png) 干的漂亮,你在Python终端中写了你的第一段Python脚本。那么,如何关掉Python终端呢? 要关掉程序,在 >>> 符号后面输入**exit()**命令,然后敲击回车键。 ![Exit from python shell](./images/exit_from_shell.png) 现在你知道如何打开Python终端并且关闭它了。 如果你写了Python可以理解的脚本,Python会给你一个结果,否则,会报错。我们故意制造一个错误,看看Python会返回什么。 ![Invalid Syntax Error](./images/invalid_syntax_error.png) 正如你看到的,报错了。不过Python很聪明,他知道我们制造了一个语法错误: invalid syntax。 在Python里用 x 做乘法运算是个语法错误,因为(x)在Python里不是一个有效的语法。我们用(*)代理(x)做乘法运算。报错明确了需要修复的内容。 在程序里定位并且解决一个错误的过程叫做 *debugging*。我们通过输入 * 代替 **x** 来debug这个问题。 ![Fixing Syntax Error](./images/fixing_syntax_error.png) 我们的bug解决了,代码可以执行并且返回我们期望的结果。作为一个程序员你基本上每天都会看到这样的错误。知道如何debug很重要。为了更好的debugging,你需要理解你将要面对那些错误。你可能会遭遇很多Python的错误,例如*语法错误-SyntaxError*, *索引错误-IndexError*, *命名错误-NameError*, *找不到模块错误-ModuleNotFoundError*, *键错误-KeyError*, *引用错误-ImportError*, *参数错误-AttributeError*, *类型错误-TypeError*, *值错误-ValueError*, *除数是0错误-ZeroDivisionError*等等。我们会在以后的内容看到各种不同的Python**_错误类型_**。 让我们联系如何使用Python终端,打开你的终端或者命令行程序CMD,然乎输入单词 **python** ![Python Scripting Shell](./images/opening_python_shell.png) Python终端打开,我们做一些基本的数学运算。(加减乘除,取模和幂运算)。 我们在写其他Python代码之前,先做一些数学运算: - 2 + 3 = 5 - 3 - 2 = 1 - 3 \* 2 = 6 - 3 / 2 = 1.5 - 3 ^ 2 = 3 x 3 = 9 在python里我们有额外的一些运算: - 3 % 2 = 1 => 取余数 - 3 // 2 = 1 => 除法向下取整 让我门把上面的书写公式变成Python代码。在Python程序的最开始写上备注。 _备注_是代码的一部分,但是不会被执行,所以我们可以在我们的代码里面写一些文本让代码的可读性更好一些。Python不执行备注部分,备注以“#”开始。这就是如何在python里写一个备注。 ```shell # comment starts with hash # this is a python comment, because it starts with a (#) symbol ``` ![Maths on python shell](./images/maths_on_python_shell.png) 在我们进入下一部分之前,在Python终端里面在练习一下。 通过在程序里面输入 _exit()_ 关闭程序,然后再打开,我们练习一下如何在程序里面输入文本。 ![Writing String on python shell](./images/writing_string_on_shell.png) ### 安装 Visual Studio Code Python终端适合测试小的脚本代码,但是对于大的工程却并不适用。在真实的工作环境中,开发者会使用不同的代码编辑器取写代码。在这个Python30天变成的挑战中,我们会使用Visual Studio Code。Visual Studio Code是一个非常流行的开源代码编辑器。我比较喜欢使用vscode,所以我会推荐大家[下载](https://code.visualstudio.com/) visual studio code,不过如果你喜欢其他的编辑器,也可以去使用你所喜欢的。 [![Visual Studio Code](./images/vscode.png)](https://code.visualstudio.com/) 如果你已经安装了visual studio code,我们看看如何去使用它。如果你需要一个视频,你可以看一下这个在Visual Studio Code上使用 Python的 [视频教程](https://www.youtube.com/watch?v=bn7Cx4z-vSo)。 #### 如何使用 visual studio code 打开visual studio code,看到这个界面,根据表示点击界面。 ![Visual studio Code](./images/vscode_ui.png) 在不的桌面上创建一个文件夹30DaysOfPython。然后使用visual studio code打开它。 ![使用Visual studio打开工程](./images/how_to_open_project_on_vscode.png) ![打开一个工程](./images/opening_project.png) 打开以后你可以看到创建文件和目录的图标。正如你看到的,我已经创建了第一个文件 helloworld.py。你也试试。 ![创建一个 python 文件](./images/helloworld.png) 在你写了一天的代码以后,你想关闭编辑器了,你可以这样操作。 ![关闭工程](./images/closing_opened_project.png) 恭喜你已经完成了开发环境的设置。我们开始写代码吧。 ## 基础 Python ### Python 语法 一个python脚本可以在python终端中写,也可以在代码编辑器里面写。Python文件的扩展名是 .py。 ### Python 缩进 一个缩进是一个空格。在和努懂开发语言中缩进是为了提高可读性,但是Python用缩进创建代码块。在其他语言里面,花括号用来创建代码块,而不是缩进。缩进错误是一个常见的python代码bug。 ![缩进错误](./images/indentation.png) ### 备注 备注对于让代码可读性非常重要。Python不执行备注部分的代码。 Python中任何以 #开头的代码都是备注。 **示例: 单行备注** ```shell # This is the first comment # This is the second comment # Python is eating the world ``` **示例: 多行备注** 当不赋值给变量时,3个双引号可以用于多行备注。 ```shell """This is multiline comment multiline comment takes multiple lines. python is eating the world """ ``` ### 数据类型 Python有很多数据类型,我们从最常用的几个开始。不同的数据类型的详细介绍在其他章节会介绍道。在一开始,我们先熟悉一下数据类型,不需要非常清晰的去理解。 #### 数字 - Integer: 整型(负数,零 和 正数) 示例: ... -3, -2, -1, 0, 1, 2, 3 ... - Float: 小数 示例 ... -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5 ... - 复数 示例 1 + j, 2 + 4j #### 字符串 通过单括号或者双括号括起来的一个或者多个字母集合。如果字符串超过一句话,我们用三括号括起来。 **示例:** ```py 'Asabeneh' 'Finland' 'Python' 'I love teaching' 'I hope you are enjoying the first day of 30DaysOfPython Challenge' ``` #### 布尔 布尔型boolean是 True 或者 False,T 和 F 必须是大写。 **示例:** ```python True # Is the light on? If it is on, then the value is True False # Is the light on? If it is off, then the value is False ``` #### 列表 Python List 是有序的,可以包含不同数据类型的元素的集合。List和JavaScript的 array类似。 **示例:** ```py [0, 1, 2, 3, 4, 5] # all are the same data types - a list of numbers ['Banana', 'Orange', 'Mango', 'Avocado'] # all the same data types - a list of strings (fruits) ['Finland','Estonia', 'Sweden','Norway'] # all the same data types - a list of strings (countries) ['Banana', 10, False, 9.81] # different data types in the list - string, integer, boolean and float ``` #### 字典 Python字典dictionary对象是无需的键值对合适的数据集合。 **示例:** ```py { 'first_name':'Asabeneh', 'last_name':'Yetayeh', 'country':'Finland', 'age':250, 'is_married':True, 'skills':['JS', 'React', 'Node', 'Python'] } ``` #### 元组 元组tuple是与列表list相似的有序的数据集合,一旦创建无法修改。 **示例:** ```py ('Asabeneh', 'Pawel', 'Brook', 'Abraham', 'Lidiya') # Names ``` ```py ('Earth', 'Jupiter', 'Neptune', 'Mars', 'Venus', 'Saturn', 'Uranus', 'Mercury') # planets ``` #### 集合 集合set与列表list和元组tuple类似。但是与列表和元组不同的是,集合是无序的的数据集合。跟数学中的很像,Python的集合只存储不重复的元素。 在后面的部分,我们会更深入的了解Python的数据类型。 **示例:** ```py {2, 4, 3, 5} {3.14, 9.81, 2.7} # order is not important in set ``` ### 检查数据类型 通过 **type** 方法查看一个数据或者变量的数据类型。在下面的终端中你会看到不同的数据类型: ![检查数据类型](./images/checking_data_types.png) ### Python 文件 首先打开你的项目文件夹30DaysOfPython。如果你没有这个文件夹,创建一个文件夹命名为30DaysOfPython。在这个文件夹里,创建一个文件命名为helloworld.py。现在我们用visual studio code去做之前在python终端中做的事情。 Python终端不用 **print** 就可以打印,但是在visual studio code中要看到输出内容需要使用内置方法 **print()** 。内置方法**print()** 可以接受一个或者多个参数 *print(‘arument1', 'argument2', 'argument3’)*。看一下下面的示例。 **示例:** 文件名是 helloworld.py ```py # 第1天 - 30DaysOfPython Challenge print(2 + 3) # addition(+) print(3 - 1) # subtraction(-) print(2 * 3) # multiplication(*) print(3 / 2) # division(/) print(3 ** 2) # exponential(**) print(3 % 2) # modulus(%) print(3 // 2) # Floor division operator(//) # Checking data types print(type(10)) # Int print(type(3.14)) # Float print(type(1 + 3j)) # Complex number print(type('Asabeneh')) # String print(type([1, 2, 3])) # List print(type({'name':'Asabeneh'})) # Dictionary print(type({9.8, 3.14, 2.7})) # Set print(type((9.8, 3.14, 2.7))) # Tuple ``` 要执行python文件,看一下下面的图片.你可以通过点击绿色按钮或者在终端中输入*python helloworld.py*来执行python文件。 ![执行python脚本](./images/running_python_script.png) 🌕 你很棒,你刚刚完成了第1天的挑战并且走在了通向成功的路上。现在我们活动一下你的大脑和肌肉。 ## 💻 习题-第1天 ### 习题:1 1. 查看你使用的python版本 2. 打开python终端然后执行下面的操作习题,执行的对象是3和4。 - 加法(+) - 减法(-) - 乘法(\*) - 取余数(%) - 除法(/) - 幂运算(\*\*) - 向下去整除(//) 3. 在python终端中写以下字符串: - 你的名字 - 你的姓 - 你的国家 - 我很喜欢python30天 4. 检查以下数据的数据类型: - 10 - 9.8 - 3.14 - 4 - 4j - ['Asabeneh', 'Python', 'Finland'] - 你的名字 - 你的姓 - 你的国家 ### 习题:2 1. 在30DaysOfPython文件夹中创建一个文件夹命名为day_1。在day_1文件夹中创建文件helloworld.py。然后重复上面的习题1,2,3,4。在python文件上工作时记得使用 _print()_ 。定位到你保存文件的目录,然后去执行它。 ### 习题:3 1. 写个使用不同数据类型的例子 例如 Number(Integer, Float, Complex), String, Boolean, List, Tuple, Set , Dictionary. 2. 计算2个点(2, 3) 和 (10, 8)之间的 [欧氏距离](https://baike.baidu.com/item/%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E5%BA%A6%E9%87%8F/1274107?fromtitle=%E6%AC%A7%E6%B0%8F%E8%B7%9D%E7%A6%BB&fromid=1798948&fr=aladdin) 🎉 恭喜 ! 🎉 [第2天 >>](./02_Day_Variables_builtin_functions/02_variables_builtin_functions.md)