1 Star 2 Fork 4

风雨二十年/30-Days-Of-Python-zh_CN

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

English | 简体中文

🐍 挑战30天学完Python

# 天 文章目录
01 初识Python
02 变量和内置函数
03 布尔值和运算符
04 数据类型-字符串str
05 数据类型-列表list
06 数据类型-元组tuple
07 数据类型-集合set
08 数据类型-字典dict
09 条件
10 循环
11 方法
12 模块
13 列表推导式
14 高阶函数
15 Python错误类型
16 Python日期时间
17 异常处理&参数打解包&Spread和枚举
18 正则表达式
19 文件处理
20 Python PIP 包管理
21 类和对象
22 Web爬虫
23 虚拟环境
24 Statistics
25 Pandas
26 Python web
27 Python with MongoDB
28 API
29 Building API
30 Conclusions

🧡🧡🧡 祝君编码学习愉快 🧡🧡🧡

Day2 变量和内置函数 >>

30DaysOfPython

📘 Day 1:初识Python

开篇说

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

学习导览图 首先给出未来30天学习的思维导图,让我们了解它后开始正式的学习。

为什选它?

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

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

环境配置

安装Python

运行python脚本需要安装依赖环境,让我们从官方 https://www.python.org/downloads/ 进行下载。 需要注意的是默认下载页面的版本,一般是最新的Release版本,如图中的红圈出是3.10.6,如果是纯学习3.6+都可以,这里笔者为了兼容更好选择了3.8.10版本,后续的代码演示也会基于此版本。 image.png

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

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

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

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

python--version

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

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

Python Shell

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

python3  #python 

open_python_shell

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

add_on_python_shell

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

Exit from python shell

到现在为止,你已经知道如何打开Python shell 以及如何退出它了。

如果你写下的代码能被python正确解读,它将返回一个结果,否则将看到一个错误。让我们故意制造一个错误来看看它是如何返回的。

Invalid Syntax Error

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

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

Fixing Syntax Error

我们的bug此时已经被正确修复,代码正常运行并得到预期的结果(2乘3等于6)。作为一名程序员在每天的编程中你都会遇到这样那样的错误。知道如何调试问题是一件好事。

为了更好调试你应该了解常见的错误的类型。你将来可能会遇到的一些Python错误类型包括但不限于 _SyntaxError、IndexError、NameError、ModuleNotFoundError、KeyError、ImportError、AttributeError、TypeError、ValueError、ZeroDivisionError _等。在后续的实战中将会看到更多不同的 错误类型信息

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

open_python_shell

在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 地板除即求商

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

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

Maths on python shell

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

Writing String on python shell

下载 Visual Studio

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

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

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

如何使用 VS Code

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

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

Visual studio Code

此时你可以打开现有项目,从git仓库中clone项目,也可以新建一个文件夹或文件。

在电脑中合适的位置我们创建一个文名称为 30DaysOfPython 文件夹,然后使用Visual Studio打开它。如果提示信任警告,请选择Yes。

Opening Project on Visual studio

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

project

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

project

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

project

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

project

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

Python基础

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

缩进

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

Indentation Error

注释

在我们编写的代码中注释是非常重要,它使得代码变得更易读。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  # 逻辑举例:灯亮着吗? 如果它是开的,则值为 True
False # 灯亮着吗?如果关闭,则值为 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 数据类型:

Checking Data types

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))          # 整数 Int
print(type(3.14))        # 浮点 Float
print(type(1 + 3j))      # 复数 Complex number
print(type('MegaQi'))    # 字符串 String
print(type([1, 2, 3]))   # 列表 List
print(type({'名称':'大奇'})) # 字典 Dictionary
print(type({9.8, 3.14, 2.7}))    # 集合 Set
print(type((9.8, 3.14, 2.7)))    # 元组 Tuple

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

  • 方式1:通过点击VS Code上的三角▶️按钮运行
  • 方式2:在编辑底部打开的终端上输入 python3 helloworld.py 来运行

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

Running python script

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

💻 第1天练习

练习1级

  1. 请用命令查看你正在使用的python版本。
  2. 打开python shell并进行如下操作。操作数是 5 和 3。
    • 加法(+)
    • 减法(-)
    • 乘法(*)
    • 求余(%)
    • 除法(/)
    • 次方(**)
    • 求商(//)
  3. 在 python shell 上编写如下字符串并输出:
    • 你的姓名
    • 你的国家
    • 你喜欢的一句话
    • I am enjoying 30 days of python
  4. 检查以下数据类型:
    • 10
    • 9.8
    • 3.14
    • 5 - 5j
    • ['Python','Java']
    • (1,2,3)
    • 你的国家

练习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 ! 🎉

Day 2 >>

木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

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

发行版

暂无发行版

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/onecool/30-Days-Of-Python-zh_CN.git
git@gitee.com:onecool/30-Days-Of-Python-zh_CN.git
onecool
30-Days-Of-Python-zh_CN
30-Days-Of-Python-zh_CN
master

搜索帮助