Python复习笔记——编程篇

这篇博客深入探讨了Python的高级概念,包括模块对象、编码格式和文件读写操作。详细讲解了OS模块、os.path模块和正则表达式,以及实用的endswith()函数。此外,还介绍了如何构建学生信息管理系统,应用lambda匿名函数,以及使用PyInstaller进行项目打包。博主还分享了面对大型数据时提升性能的方法,并列举了一些关键的异常处理技巧和时间格式化知识点。
摘要由CSDN通过智能技术生成

目录

●Python理解——进阶

●模块对象

●编码格式

●文件读写(IO操作)

●OS模块

● os.path模块

●正则模块re

●endswith()

●案例:学生信息管理系统

●lambda匿名函数

●项目打包——PyInstaller模块

●enumerate(iterator start=numb)

●面对大型数据性能不好的函数

●except Exception as  e

●零散却有用的知识点

●一些模块


●Python理解——进阶

 底层不用去理解,我们学高级语言,就是为了忽略底层逻辑。所以我们要学号高级语言,而不是对底层深究。

 Python常见知识点和面试题总结(中)_牛客网

python解释器

CPython解释器

根目录下的python.exe就是CPython解释器的可执行文件,标准解释器

C语言编写的、交互式、因为C语言很精简,所以python只有97KB

包含一个编译器、一个虚拟机(可以这样理解,都是解释器的一部分)

编译器负责将代码转换成字节码(.pyc文件),虚拟机负责后续解释成机器码执行

在 Python 安装目录下,还包含了许多其他的文件和文件夹,其中一些比较重要的文件和文件夹包括:

Lib 文件夹:Python 标准库的源代码和编译后的字节码文件。

include 文件夹:Python C API 的头文件。DLLs 文件夹:Python 解释器所需的动态链接库文件。

Scripts 文件夹:Python 脚本和命令行工具的入口脚本。

python.exe 文件:Python 解释器的可执行文件。

pythonw.exe 文件:Python 解释器的可执行文件,用于运行 GUI 应用程序。

python3.dll 文件:Python 解释器所需的动态链接库文件。

python39.dll 文件:Python 解释器所需的动态链接库文件,用于 Python 3.9。

python39.zip 文件:Python 标准库的压缩文件,包含了所有标准库模块的源代码和字节码文件。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

使用RPython语言编写。RPython:python语言的变种。

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显着提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython 和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
解释型语言和编译型语言
解释型语言 执行效率低:程序不需要编译,程序在运行时才翻译成机器码,每执行一次就要翻译一次,不可脱离语言环境独立运行(需要虚拟机)
跨平台性好:依赖于解释器,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护
过程 源代码->汇编代码->机器码->CPU执行
代表语言 Python、JavaScript、PHP、Shell、Ruby、MATLAB、Perl
适用范围 一些网页脚本,服务器脚本以及辅助开发接口之类的对速度要求不高,对不同系统兼容性有一定要求的程序通常使用解释型语言
编译型语言 执行效率高:只须编译一次就可以把源代码编译成机器码,后面的执行无须重新编译,直接使用之前的编译结果,可以脱离语言环境独立运行(不需要虚拟机)
跨平台性差:依赖于编译器,编译之后如果需要修改就要将整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件
过程 源代码->字节码->解释器->机器码->CPU执行
代表语言 C、C++、Golang、Pascal、Object-C、Swift
适用范围 编译型语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等软件时一般采用它
●一般,编译型语言的运行效率比解释型语言更高,但是不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能使解释型语言的性能超过编译型语言
●Java语言应是编译型-解释型语言,因为其同时具备编译型和解释型两种特性:Java文件先编译成与平台无关的.class字节码文件,然后.class字节码文件既可以在Windows平台上的Java虚拟机(JVM)上进行解释运行,也可以在Linux平台上的JVM上解释运行。而JVM的翻译过程是解释型的,JVM从.class字节码文件中读出一条指令,翻译一条指令,然后执行一条指令,这个过程就称为Java的解释执行。C#与Java类似
●当我们说“下载一个程序(软件)”时,不同类型的语言有不同的含义
对于编译型语言,我们下载到的是可执行文件,源代码被作者保留,所以编译型语言的程序一般是闭源的
对于解释型语言,我们下载到的是所有的源代码,因为作者不给源代码就没法运行,所以解释型语言的程序一般是开源的
●我们所说的解释型语言能跨平台,是指源代码跨平台,而不是解释器跨平台。解释器用来将源代码转换成字节码,它就是一个可执行程序,是绝对不能跨平台的。在不同的平台下,解释器会将相同的源代码转换成不同的机器码,解释器帮助我们屏蔽了不同平台之间的差异
Python是“胶水语言”的优势

1、并非只有python是胶水语言,还有Lua、Julia、Perl、Erlang、Shell,VBscript、AppleScript、JavaScript

2、底层调用C/c++,速度快

3、高级语言。。。python的优势

4、开源、扩展性强

python调用python,使用import或者from...import...
python调用C写的dll,用ctypes包
python调用exe,用subprocess包
python调用C/C++,用Cython生成并调用pyd
python调用Java,用jpype包。复杂的,可以尝试用pyjnius。
python调用R代码,使用subprocess包

Python环境
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值