赞
踩
有这样一句话,“人生苦短,我用Python”。 这话能够流传,就是因为Python简洁易学,相比其它语言,可以用更少的代码量和时间,完成同样的功能。
作为一个前端开发,日常工作和生活中,很多时候需要一些脚本,来处理冗余繁琐的操作,提升效率,特别是现有的工具难以满足需求, 这时候就想重新造个轮子,例如,编写脚本,从TTF字体文件中,仅提取出想要的中文字体; 对按规则匹配到的文件进行自定义的重命名,或者批量修改大量文件中的指定规则匹配的文本; 喜欢的网页文章或文档,能够自动将其抓取,然后转成PDF文件保存本地。
作为一门流行的编程语言,Python在人工智能,数据分析,Web开发,爬虫,自动化运维,图像处理等领域,都有对应的建树,拥有一个大而全面的生态。 之前笔者都是使用Gulp,在Nodejs环境下编写Js脚本,现在打算学习下Python,通过Python编写脚本,尝试下Python的生态。
本文主要记录自己学习Python的探索过程,从基础的安装,到运行起第一行Python代码。记录过程中遇到的问题,经过的流程,以及因为好奇心调研的 答案。这份记录也是为了自己准备的一份笔记,为的是当一段时间不用Python后,能够快速将之拾起。
笔者是前端出身,很多流程可能保留着使用Nodejs,npm构造前端工程的思路与想法。我相信一门成熟的语言与框架,总是殊途同归的,其语言特性,开发流程 总是存在共性。过程中我会尽可能做到知其然,知其所以然,保持好奇,保持追根究底,争取明白每一个流程的含义,设计理念,以及怎样使用。
作为初学者,如有错误,也非常感谢大家指出。
本文介绍了自己从安装Python,到编写出第一个程序并运行的流程。其主要包含如下几个部分:
笔者是Windows平台,安装的Python版本为3.11,首先前往 官网下载安装包。
(需要安装包的宝子也可以看到最后,我可以免费分享哦~)
下载完成后,双击安装文件开始安装。之后进入安装流程的第一步。
在第一个画面,选择安装方式为Customize installation,自定义安装,因为我习惯把软件安装到自己定义的目录,而非默认位置, 因此选择这个选项,后续可以自己指定安装位置。
底部两个选项默认勾选。
在这个画面我选中了全部选项。
documentation
选择此选项后,会在本地安装一个文档程序,在开始菜单中,点击python 3.11 module docs,会自动打开一个本地网页,就是python文档。
pip
pip是下载安装python依赖包的核心工具,选择后,会安装在python安装目录下的Script文件夹中,后续会详细描述其用法。
tcl/tk and IDLE
tcl/tk是一个GUI工具包,用来用Python写图形界面的。 而IDLE是一个python的IDE开发环境,使用前者编写。 笔者这里虽然选中安装了,但是其实没有用Python编写图形界面的想法,并且IDE打算使用VSCode,因此这个选项看个人需求。
Python test suite
Python测试套件,需要安装,给一些工具方法写单元测试是好文明。
py launcher
这是一个window平台下的程序,可以让你运行不同版本的Python。安装后,直接通过命令行参数来控制使用哪一个版本的Python解释器。
同时安装了Python2和Python3时,环境变量Path下都有了两个Python命令,当在命令行输入python --version
时,就只会匹配Path中靠前的指令。 想要能自由切换版本,就可以使用py launcher添加的 py
指令来替代python
指令,手动指定要使用的Python解释器版本。 例如下面的方式:
sh
复制代码
# 在命令行中使用py命令运行python解释器,以python版本3的解释器,来执行指定的脚本
# py后跟随的数字参数为版本,可选,不填写时,默认使用3
py -3.11 start.py
# 查看本机安装的全部python版本,参数中的0是列出python主要版本,p的意思是path,列举出所在路径。
py -0p
命令行常用小操作
想知道py等指令存放的位置,可以直接在命令行中运行where.exe py
,就可以查看其安装位置。 笔者使用的是Windows Powershell,其它命令行工具的where方法可能有所不同。
默认上述选项即可,然后选择想要安装的目标目录,然后点击安装。
安装完成后,可以打开命令行,运行py --version
,如果能输出当前Python版本,即表示安装成功。
这里大概解释下这些高级选项的含义。
Install python for all users
给windows全部用户安装Python。对应的环境变量应该也会变成全局,而非当前User了。
Associate files with python
关联Python文件,这样会自动识别对应后缀的文件为Python脚本。如此,对py文件双击可以直接调用Python解释器执行,而不需要选择打开方式。 不过笔者这里的py文件一般都关联的是VSCode,双击启动会自动打开VSCode。
Add Python to environment varivables
添加Python到环境变量中。
Precompile python standard library
预编译python标准库的.py文件为.pyc字节码文件,可提升使用标准库时的运行速度,当然也会占用更多安装时的额外空间。
Download debugging symbols,Download debug binaries
Download debugging symbols意味着下载用于调试Python的符号文件(.pdb文件)。 这些文件可以帮助你在Visual Studio等开发工具中调试混合模式的Python/C++代码。 如果你不使用Visual Studio或者不需要调试混合模式的代码,你可以不选择这个 选项。如果你选择了这个选项,你需要同时选择Download debug binaries,这样才能下载适用于.NET开发的调试符号。
python在安装过程中,经过选择对应选项,已经自动配置好了环境变量,因此无需再额外手动配置,这里仅介绍下相关的环境变量。
\Python\Scripts
:这个环境变量是用来存放一些Python的工具脚本文件的,比如pip或其他第三方模块的命令行工具。
\Python
:这个环境变量是用来存放Python的主程序文件的,比如python.exe或pythonw.exe。
而py launcher使用的py命令,是放到了C:\Windows
文件夹中。
可执行下面的命令来验证环境变量是否配置完善。
# 输出python版本
py --version
# 输出pip版本
py -m pip --version
通过pip安装依赖时,都是从国外的源下载,容易下载缓慢。推荐修改成清华大学的镜像源。
一种方式是安装时临时指定,例如:
sh
复制代码
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pillow
还有一种就是永久指定,推荐直接用这种方法:
sh
复制代码
# 配置源 会创建一个配置文件并写入配置 Writing to C:\Users\YourName\AppData\Roaming\pip\pip.ini
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 打印pip配置
pip config list
# 如果不想用国内源了,还可以重置回 https://pypi.org/simple
pip config unset global.index-url
直接在VSCode扩展处搜索python,安装常用的扩展:
安装完成后,可以直接使用VSCode切换当前工作区的python解释器版本,实现命令行py -3
指定版本的效果。 修改方法有以下几种,选择任意都可:
Python:Select interpreter
,进行选择。安装与配置完成后,接下来就开始写下第一行代码,并执行。
start.py
的文件,添加内容:py
复制代码
# 即使没有接触Python语法,这里也能根据语义知道,是打印一行文字
print("Hello Python")
sh
复制代码
# 以脚本形式运行,只要路径正确,就能执行
py start.py
# 以module形式运行 关于module的概念,使用方法,和脚本文件的差异,会在后续文章探究。
# 添加了-m后,python会查找对应的名为start的module,然后作为脚本执行,查询原理也会在后续模块相关文章中探究。
py -m start
VSCode的各种操作,本质都是图形化的,对命令行指令的封装。 因此所有VSCode操作都应该有对应的命令行版本。
前端联想
Python文件仅能通过Python解释器执行,而前端得纯js文件,则可以使用node指令运行,也可以通过浏览器自己的Js引擎执行。 如果是工程化的前端项目,则需要借助脚手架执行,如常用的npm run dev
,就是启动对应package.json
中的脚手架脚本。
安装Python时,选择了安装pip,这是Python的包管理器,可以使用pip指令进行各种第三方依赖的安装,更新,删除,查看等。
直接执行安装指令py -m pip install Pillow
,会发现,当前项目下并无任何变化,找不到安装的依赖在哪里, 这是因为直接执行pip,会默认把依赖包安装到全局。 执行py -m pip show Pillow
可以查看到详细的包信息,发现包被安装到了Python安装目录下的一个文件夹中: D:\workspace\install\python\Python\Lib\site-packages
。
默认使用pip的全局安装,容易导致多个项目的依赖产生版本冲突,所以并不推荐。后面介绍虚拟环境的文章,会在虚拟环境中,使用pip安装管理依赖, 此种方法安装的依赖会独立于全局,能更好的管理,控制,维护。
py -3 -m pip install Pillow
,这里的指令含义:
sys.path
数组中查找对应目录,会在``\Python\Scripts`下查找到的名为pip的module。前端联想
pip在Python中的地位,类似npm在前端项目中的地位。npm也区分了-g
全局,以及项目内安装。不过npm安装依赖并不需要搭建虚拟环境, 只需要使用其命令行参数进行控制即可。
此文件是一个安装的依赖及其版本的清单,当下载一个新项目时,可以用其快速安装依赖。
当已经有requirements.txt时,例如是下载的别人的项目,想快速安装全部依赖,可以运行如下指令:
sh
复制代码
# -r是read读取,读取文件中的清单,然后全部安装
pip install -r requirements.txt
如果使用pip安装依赖,pip install package_name
,是不会更新requirements.txt的(当然是有三方的包管理工具能实现同步的)。这需要我们手动去执行指令, 创建或更新requirements.txt:
sh
复制代码
# 列出全部安装的依赖,并写入文件
py -m pip freeze > requirements.txt
有pipenv,poetry等工具,但当前Python自带得pip和venv已经够用,暂时没有学习使用其它包管理工具的需求。
安装的依赖包非常简单,各个包文档一般都会标明使用方式,可以自行查询文档,例如Pillow:from PIL import Image
当电脑安装了多个python版本,就需要使用py launcher的py
指令来调用不同版本python解释器。
可以使用参数指定版本运行,例如py -3.11
就是指定3.11版本解释器。
如果想指定一个py
的默认版本,则需要设置windows环境变量PY_PYTHON
,此变量不存在时,会默认为3。
可以通过命令行实验一下(命令行工具为Windows PowerShell):
sh
复制代码
# 默认打印空
$env:PY_PYTHON
# 默认为3 Python 3.11.3
py --version
# 设置为版本2
$env:PY_PYTHON = 2
# 打印为Python 2.7.18
py --version
# 设置为3
$env:PY_PYTHON = 3
# Python 3.11.3
py --version
当使用pip时,如果想要指定版本,需要
sh
复制代码
py -m pip --version
如果希望直接使用pip,并指定版本,那就只能调整下\Python\Scripts
环境变量的顺序了,把想要的版本排在上面,如此直接 使用pip --version
即可。
使用F5启动调试时,发现会默认执行当前选中的文件,以此为入口。要修改其执行的入口,则需要创建.VSCode/launch.json
, 通过此配置文件,控制调试时的一些行为。
创建VSCode启动文件
打开侧边栏的Run and Debug
,会发现上方有文字按钮create a launch.json file,点击按钮, 在弹层中选择执行方式,这里还是选择Module
,提示填入启动的模块名,这里填入的Modules名字即为要作为入口的.py文件名, 接着会自动创建.VSCode/launch.json
文件。
打开文件launch.json
文件,其内容如下,以Module方式运行,同时入口为start。 如果想单独调试其它子文件模块,可以修改Module后执行,例如修改为your_package.package1.unit1
,就会以模块方式 调用your_package/package1/unit1.py
,如果添加的是目录,则会执行目录下的__init__.py
。
json
复制代码
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "start",
"justMyCode": true
}
]
}
经过上述流程,已经安装好了Python环境,并且尝试了第一行代码,使用命令行和VSCode都做了运行。 但是现在的一个问题就是,依赖会被迫安装到全局,这会影响项目的独立性,难以管理。 解决这个问题的方案,后续文章《Python虚拟环境》将会解决这个问题。
如果你对Python感兴趣的话,可以试试我整理的这份Python全套学习资料,微信扫描下方二维码免费领取
包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码输入“领取资料”免费领取!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。