跳到主要内容

初识 Python

信息
2024年8月10日 · ·

1. 简介

  • 高级编程语言,解释型语言
  • 代码在执行时会逐行翻译成 CPU 能理解的机器码
  • 代码精简,但运行速度慢
  • 基础代码库丰富,还有大量第三方库
  • 代码不能加密

2. 用途

  • 机器学习
  • 网络应用
  • 工具软件
  • 包装其他语言开发程序

3. 解释器

解释器说明
CPython用 C 语言开发
IPython基于 CPython 之上的一个交互式解释器,只是在交互方式上有所增强,以 In[n] 作为提示符
PyPy采用 JIT 技术对 Python 代码进行动态编译(不是解释),提高执行速度
Jython运行在 Java 平台的 Python 解释器,可以把 Python 代码编译成 Java 字节码执行
IronPython与 Jython 类似,运行在 .Net 平台的 Python 解释器,编译成 .Net 字节码

与 Java 和 .Net 平台交互最好的办法不是使用 Jython 和 IronPython,而是通过网络条用来交互,确保各程序之间的独立性;

4. 安装 Python 与使用虚拟环境

5. 命令行模式

  • Windows 的 CMD、PowerShell(提示符是 C:\>);
  • Linux 的 Terminal(提示符是 [aurelius@centos-dev ~]\$);

6. 交互模式

  • 在命令行模式键入 python,即进入 Python 交互模式(提示符是 >>>),输入 exit() 退出

命令行模式 vs. 交互模式

  • 执行 .py 文件只能在命令行模式执行: python hello.py;
  • python 交互模式会输出每一行执行的结果,命令模式不会;

直接运行 .py 文件(仅限 Mac 和 Linux)

  • 通过 .py 文件首行特殊注释指定执行的 python 解释器;
#!usr/bin/env python3
print('hello world.')
  • 通过如下命令给 hello.py 添加执行权限;
chmod a+x hello.py

7. 输入和输出

  • 输出 print(), 遇到逗号 “,” 会输出空格;
  • 输入 input(), 入参会被打印出来;

8. 模块

Module

模块是一组 Python 代码集合,可以使用其他模块,也可以被其他模块使用,创建模块不能与系统模块名重复

一个 .py 文件就是一个模块

mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py

按目录组织模块的方法,称之为包 Package,每个包目录下必须有一个 __init__.py 文件,否则这个目录就是一个普通目录;__init__.py 本身就是一个模块,它的模块名就是所在目录的名称

使用模块

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'aurelius'

import sys


def test():
args = sys.argv
if len(args) == 1:
print('Hello world.')
elif len(args) > 1:
print('too many arguments.')


if __name__ == "__main__":
test()

第 1 行指定 .py 文件在 Unix/Linux/Mac 上运行使用的 Python 解释器 第 2 行表示 .py 文件本身使用标准 UTF-8 编码 第 4 行表示模块文档注释,模块代码的第一个字符串都被视作模块的文档注释 第 6 行使用 __author__ 变量表明作者 第 8 行导入模块,这样就可以访问模块的所有功能

sys

sys 模块有一个 argv 变量,存储着启动 .py 文件时命令中的所有参数,至少有一个元素,第一个元素永远是该 .py 文件的名称

__main__

在使用 Python 解释器启动 .py 文件时,Python 解释器会把该 .py 模块的 __name__ 置为 __main__,通常用于通过命令行直接执行 .py 文件执行一些额外代码,用于运行测试等

作用域

  • public: xxx
  • private: _xxx, __xxx
  • 特殊变量: __xxx__

Python 对 private 函数或变量的访问限制无强制作用

第三方模块

  • 使用 pip
pip install Pillow
  • 使用 Anaconda

基于 Python 的数据处理和科学计算平台

模块搜索路径

模块搜索路径存放在 sys 模块的 path 变量

模块搜索顺序

当前目录 > 所有已安装的内置模块 > 第三方模块

修改模块搜索目录

  • 直接修改 sys.path 的值,运行时修改,运行结束失效
  • 设置环境变量 PYTHONPATH,该环境变量的内容会被添加到模块搜索目录

PS:感谢每一位志同道合者的阅读,欢迎关注、评论、赞!