Python环境(1):基础知识

本系列笔记《Python环境》预计包含五块内容:1 基础知识; 2 环境配置; 3 环境及包管理; 4 环境迁移与共享; 5 环境debug。此处记录我认为的关于Python及环境的前置必要知识

前言-Python学习

官方/包的发布者提供的教程文档及接口文档Documentary及API是很好的学习和应用教材。

Python是一门高效易用的语言,语法简洁,入门上手很快,但实际中我们开展的绝大部分数据工作主要基于大量已有的包(packages)实质上就是其他人已经实现并封装的大量py脚本。因此,从应用的角度来说,学习Python更重要的是在了解其基本语法、对象及函数使用等的基础上→学会快速上手使用包并熟悉各种常用包的功能,熟能生巧,在具体的案例中思考及学习。但是,

  • 回顾我自己的学习经历,一开始我信心满满准备开始工作前以及编程过程中,容易被环境、包及其他各种问题消磨心神,从而疲于应对,这即是此文想要重新梳理的内容。
  • 同时还想小结一下常用的包及环境管理等,毕竟现在也需要频繁的查阅文档和代码,且随着学习的深入和需求的增加,也会用到更多的知识和遇到更多的问题,这都在此陆续总结

Python及其脚本

脚本语言(Scripting language)不需要编译,由解释器来负责解释并运行代码,脚本常以文本存储(后缀多种多样,但实际都是文本,.py也是文本文件),在被调用时进行解释或编译。Python也属于脚本语言,常见的还有JavaScript,故py文件也称脚本文件(Script)。

实质上,在本机已经下载/安装好Python之后,我们执行Python程序的手动过程是(简化示意):

  1. 在文本文件里写好Python代码,后缀为py,test.py
  2. 找到并进入python.exe(解释器)所在的文件夹,使用python.exe test.py命令开始执行
  3. 解释器读一遍代码,确认没逻辑问题并根据代码的import找环境目录下的调用的包,逐步执行
  4. 按代码逻辑逐步执行指令,返回结果……

所以我们运行代码不一定需要借助软件或者工具,安装后之后打开目录在cmd中运行也可。找到python.exe直接右击,我们会发现自动弹出一个cmd并提示可以运行代码。Python安装了些什么看下文。接下来需要了解一下命令行及环境变量

命令行

命令提示符CMD(command),是 Windows 系统的一种命令行操作工具,接收用户命令来完成一些系统或程序操作

初学觉得命令行很“高级”,但是,通过上述过程会发现,命令行窗口实际上可视为一个执行程序/文件的界面,与Python交互窗口及IDLE类似,只不过:

  • 它可以操作/管理电脑系统的一些设置以及文件等;还可以操作一些更为底层的,基础的程序,如我们最常用的切换路径的cd(change directory)命令,也可以当做一个系统内置的函数(函数名是cd 接收一个字符串),我们在其后传入参数,多个参数默认用空格分隔,它执行/输出
  • 打开CMD,依次输入d:,cd D:\Miniconda3\envs\gis就可以进入到我一个环境的目录下运行Python
1
2
3
C:\Users\huangs>d:
D:\>cd D:\Miniconda3\envs\gis
D:\Miniconda3\envs\gis>python C:\Users\huangs\Desktop\test.py

命令行本身也是一个应用程序(.exe),其路径在C:\Windows\system32,我们如果将外部exe程序放在这里,就可以直接通过cmd执行程序,如:通过wget命令批量下载文件时,就习惯先把下载好的wget.exe放在这个目录下,方便执行命令,为什么可以直接执行?因为系统环境变量Path中默认添加了该路径%SystemRoot%

  • 因此,可以将命令行(cmd.exe)及其他各种exe如python.exe、Conda.exe等(文件在....),视为一个脚本/“函数集”,它可以根据我们提供的输入,执行相应的操作!

通常很多软件都会提供GUI和命令行模式,GUI(图形界面)实际上就是让用户通过界面及鼠标点击/键盘来实现命令→从而执行程序。不同场景下各有优劣,图形界面本身会带来额外的内存消耗,而有时候通过一系列代码可以更快实现很多的鼠标操作。因此

  • 在实际的学习和工作中,最好能够都熟悉并加以运用,这也能够提高提高编程及办公效率,加深对工具的理解,也能提高动手能力,让电脑的使用更加自然得心应手,也便于debug。

接下来顺带提一下我对环境变量的了解

环境变量

环境变量是整个电脑操作系统的变量,其中的PATH——主要用于存储解释(器)路径。

添加环境变量可以让我们可以更方便地调用本地文件夹中的应用程序

  • 未添加环境变量之前,每次都需要进入指定目录才能运行目录下的程序(.exe),对于使用频繁的程序来说显得麻烦,因此可将其exe所在的路径添加到系统环境变量下的Path解释器变量,添加之后,直接在cmd中输入名称如Python就可以运行/调用指定目录下的可执行文件(windows中一般是指exe),省略后缀。
  • 若是涉及多个Python或多个不同版本但同名的程序,可以重命名exe的名字(不影响使用),如python37, python38

比如我安装Anaconda或Miniconda并添加环境变量后,打开cmd输入ipython/python即可以运行Python(实际上运行的是D:.exe):

python默认安装了些啥(选读)

搬运自2021年写的笔记,因此内容较旧,但大体不影响

安装

以Python解释器为例(仅为演示而安装),打开Python官网任意下载一个版本的Python,软件都提供嵌入版以及安装版,这里我做案例讲解下载python 3.8.10,运行安装,可选的有pip、及idle编辑器(窗口管理python文件),随后安装到自定义目录: 3.8.10为版本号,第一个小数点前为大版本,第二个为小版本,第三个为补丁,前两个变动较大

Python安装目录介绍

Lib为内置包,如os模块可以在此找到C:\Users\huangs\Desktop\temp\python38\Lib\os.py

拓展包目录通常在..\python38\Lib\site-packages

scripts路径下有三个文件,均为pip,用于安装PyPI,无本质区别

代码运行

先打开安装后系统应用中出现的IDLE (Python 3.8 64-bit)

  1. 比如编写如下代码(Tab键候选补全,如输入os.,再按tab键)

  2. 也可以在File中新建,输入代码并保存运行run,在这个过程中:

    1. 调用python解释器(即Python.exe),运行命令或者保存的test.py文件,输出结果

    2. 本过程在可视化界面执行,若在命令行执行文件,类似:

      1
      2
      3
      #先打开CMD:输入cd path
      #如cd .\Desktop\temp\python38
      python + file_path
    3. 这里Python实际上就会检索目录下的以Python为名称的exe文件,并执行.py脚本,该解释器也可视为一个函数,输入为‘path’时会判断并执行

    4. 代码中包含的import os,即会在执行过程中检索目录下的os.py并运行

  3. 此即为基础的Python脚本运行全过程

  4. 交互模式:直接打开命令行输入Python,如果已添加环境变量(下节会讲),则会出现交互运行模式,其他的还有ipython模式,jupyter notebook自带,jupyter的文件后缀.ipynb即是ipython notebook的意思

exit()退出,cmd常用;题外话退出数据库环境(如mysql mongodb)则用quit()