详解python学习笔记之解释器

目录
  • 1、python教程
    • 1.1 概述
    • 1.2 python标准库
    • 1.3 python语言参考手册
    • 1.4 python包索引
    • 1.5 术语对照表
  • 2、课前甜点
  • 3、python解析器
    • 3.1 传入参数
    • 3.2 交互式运行
      • 3.2.1 可执行的Python脚本
      • 3.2.2 交互式启动文件
    • 3.3 解释器的运行环境( 源文件的字符编码)
  • 总结

1、python教程

基于 python3.10 的持续解读,旨在快速回忆加深理解,节约自己的时间成本

1.1 概述

python 是一门易于学习的编程语言,提供了高效的高级数据结构,简单有效的面向对象编程,
因为优雅的语法、动态类型、解释型语言的本质,让它成为多数平台上写脚本和快速开发应用的理想语言。以下总结都是基于python10展开。

1.2 python标准库

大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案,

https://docs.python.org/zh-cn/3/library/index.html#library-index

目录如下:

概述、内置函数、内置常量、内置类型、内置异常、
文本处理服务、二进制数据服务、数据类型、数字和数学模块、函数式变成模块、文件和目录访问、数据持久化、数据压缩和存档
文件格式、加密服务、通用操作系统服务、并发执行、网络和进程间通信、互联网数据处理、结构化标记处理工具、互联网协议和支持、多媒体服务
国际化、程序框架、TK图形用户界面(GUI)、开发工具、调试与分析、软件打包与分发、python运行时服务、自定义python解析器、python语言服务
导入模块、windows系统相关模块、Unix 专有服务、被取代的模块、

1.3 python语言参考手册

https://docs.python.org/zh-cn/3/reference/index.html#reference-index

介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整,概述、词法分析、数据模型、执行模型、导入系统、表达式、简单语句、符合语句、顶级组件、完整的语法规范

1.4 python包索引

https://pypi.org/

python教程

https://docs.python.org/zh-cn/3/tutorial/index.html

本教程对每一个功能的介绍并不完整,甚至没有涉及全部常用功能,只是介绍了 Python 中最值得学习的功能,旨在让读者快速感受一下 Python 的特色。
学完本教程的读者可以阅读和编写 Python 模块和程序,也可以继续学习 Python 标准库。

1.5 术语对照表

https://docs.python.org/zh-cn/3.10/glossary.html#glossary

2、课前甜点

Python 虽然简单易用,但它可是真正的编程语言,提供了大量的数据结构,也支持开发大型程序,远超 shell 脚本或批处理文件。

Python 程序简洁、易读,通常比实现同种功能的 C、C++、Java 代码短很多,原因如下:

  • 高级数据类型允许在单一语句中表述复杂操作;
  • 使用缩进,而不是括号实现代码块分组;
  • 无需预声明变量或参数。

Python “可以扩展”:会开发 C 语言程序,就能快速上手为解释器增加新的内置函数或模块,不论是让核心程序以最高速度运行,还是把 Python 程序链接到只提供预编译程序的库(比如,硬件图形库)。只要下点功夫,就能把 Python 解释器和用 C 开发的应用链接在一起,用它来扩展和控制该应用。

3、python解析器

3.1 传入参数

tiaoce.py

import sys

a = sys.argv[0]
b = sys.argv[1]
c = sys.argv[2]

# 在命令行指定language的值,文件离输出language
if b.split("=")[0] == "language":
    c = b.split("=")[1]
    print("脚本后第一个字符串的值:"+c)
else:
    print("你的第一个参数名不对,应该是language")

# 以上三个变量可以作为函数的参数,传递到后续程序中
def tiaoce(a, b, c):
    print("脚本名称:" + a)
    print("脚本后的第一个字符串:" + b)
    print("脚本后的第二个字符串:" + c)

tiaoce(a,b,c)

预期:

C:\Users\mc\Desktop\python基础>python tiaoce.py language=jiao aa bb
脚本后第一个参数的值:jiao
脚本名称:tiaoce.py
脚本后的第一个字符串:language=jiao
脚本后的第二哥字符串:jiao

3.2 交互式运行

C:\Users\mc>python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> aa = True
>>> if aa:
...     print("jiaotengfei")
...
jiaotengfei
>>>

3.2.1 可执行的Python脚本

linux上执行:Python脚本可以直接执行,就像shell脚本一样,第一行添加:

#!/usr/bin/env python3.5
$ chmod +x myscript.py

windows10上执行:右键py文件,打开方式选择python,双击后就会自动执行 tiaoce.py

print("jiao")
a = input("请输入信息:")
print(a)

3.2.2 交互式启动文件

当您以交互方式使用Python时,每次启动解释器时都会执行一些标准命令,这通常很方便。您可以通过将名为 PYTHONSTARTUP 的环境变量设置为包含启动命令的文件名来实现。这类似于Unix shell的 .profile 功能。

import os

filename = os.environ.get('ANDROID_HOME')
# 打印你的环境变量的值,
print(filename)
# 预期
"""D:\Program Files\android-sdk-windows"""

filename = os.environ.get('PYTHONSTARTUP')
print(filename)
if filename and os.path.isfile(filename):
    with open(filename) as fobj:
        startup_file = fobj.read()
        print(startup_file)
    exec(startup_file)

3.3 解释器的运行环境( 源文件的字符编码)

默认情况下,Python 源码文件的编码是 UTF-8,如果不使用默认编码,则要声明文件的编码,文件的 第一 行要写成特殊注释。句法如下:

# encoding 可以是 Python 支持的任意一种 codecs。
# (这个模块定义了标准 Python 编解码器(编码器和解码器)的基类)
# -*- coding: encoding -*-
# 声明使用 Windows-1252 编码
# -*- coding: cp1252 -*-

可执行python 文件的第一行定义:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python 设计模式行为型解释器模式

    目录 一.解释器模式 二.应用场景 三.代码示例 一.解释器模式 解释器模式,开发者自定义一种 “有内涵” 的语言(或者叫字符串),并设定相关的解释规则,输入该字符串后可以输出公认的解释,或者执行程序可以理解的动作. 优点: 可扩展性比较好,灵活. 增加了新的解释表达式的方式. 易于实现简单文法. 缺点: 可利用场景比较少. 对于复杂的文法比较难维护. 解释器模式会引起类膨胀. 二.应用场景 SQL 解析 符号处理引擎 三.代码示例 实体角色: 终结符表达式:实现与文法中的元素相关联的解释操作,

  • 利用 Python 开发一个 Python 解释器

    目录 1.标记(Token) 2.词法分析器(Lexer) 3.巴科斯-诺尔范式(Backus-Naur Form,BNF) 4.解析器(Parser) 前言: 计算机只能理解机器码.归根结底,编程语言只是一串文字,目的是为了让人类更容易编写他们想让计算机做的事情.真正的魔法是由编译器和解释器完成,它们弥合了两者之间的差距.解释器逐行读取代码并将其转换为机器码. 在本文中,我们将设计一个可以执行算术运算的解释器. 我们不会重新造轮子.文章将使用由 David M. Beazley 开发的词法解析

  • 超详细Python解释器新手安装教程

    Step1:确定操作系统 Python 解释器的下载地址为:https://www.python.org/ ,点击 "Downloads"选项如下图所示: 可以看到最新版为 Python3.8.2,接下来根据自己的情况选择相应的电脑系统,如点击"Windows"选项进入详细的下载列表: 上图中可以看到一共有 7 个下载链接,第 1 个为帮助文档,其余 6 个根据操作系统位数不同分为 3 类,以 64 位操作系统为例 3 类安装包描述如下图: Step2:下载离线安装

  • Python3 解释器的实现

    Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在 /usr/local/python3 目录中. 安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 . $ PATH=$PATH:/usr/local/python3/bin/python3 # 设置环境变量 $ python3 --ve

  • 详解pycharm配置python解释器的问题

    在这里选择使用哪个版本的interpreter: 下拉框里选择show all可以看见目前已有的 点击添加按钮: 可以选择system interpreter: 里面有所有现在电脑里安装的python,usr/bin/python和system目录下的是电脑自带的,usr/local/bin/python3是自己安装的.自己安装的python3是最底下的那个,这里usr下的,我理解为,是一种映射.usr/local/bin/python3是/Library路径下的python3的映射.因为我试了

  • 详解python学习笔记之解释器

    目录 1.python教程 1.1 概述 1.2 python标准库 1.3 python语言参考手册 1.4 python包索引 1.5 术语对照表 2.课前甜点 3.python解析器 3.1 传入参数 3.2 交互式运行 3.2.1 可执行的Python脚本 3.2.2 交互式启动文件 3.3 解释器的运行环境( 源文件的字符编码) 总结 1.python教程 基于 python3.10 的持续解读,旨在快速回忆加深理解,节约自己的时间成本 1.1 概述 python 是一门易于学习的编程

  • 详解Python学习之安装pandas

    一.python pip的安装与使用 1.pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具. pip 官网:https://pypi.org/project/pip/ 你可以通过以下命令来判断是否已安装: pip --version 2.如果你还未安装,则可以使用以下方法来安装

  • 详解Angular2学习笔记之Html属性绑定

    简介 基本HTML属性 <td [attr.colspan]="tableColspan"></td> Css 类绑定 <!-- 第一种情况 class 类全部替换 --> <div [class]="divClass">CSS 类绑定,[class] 全部替换的例子</div> <!-- 第二种情况 替换 class 类的部分属性 --> <div [class.a]="isS

  • 详解Angular6学习笔记之主从组件

    主从组件 继学习笔记6,现在可以在页面上显示一个数组,但是原则上不能将所有特性放在同一个组件中,因为如果将所有特性放在同一个组件中,当特性特别多时,组件就变得不好维护了.所以要将大型组件拆分为多个小型组件,使每一个小型组件集中处理某一个特性任务或者工作流,而且这样也便于维护. 这次要将学习笔记6中的查看hero详情,放置在一个新的,独立,可复用的组件中,集中在新的组件管理和维护hero详情的信息. 1.创建一个新的组件 使用 Angular CLI 生成一个名叫 hero-detail 的新组件

  • 详解Docker学习笔记之搭建一个JAVA Tomcat运行环境

    前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等. 主观的印象:Docker 使用 Go 语言编写,用 cgroup 实现

  • 详解Vue学习笔记进阶篇之列表过渡及其他

    本文将介绍Vue中的列表过渡,动态过渡, 以及可复用过渡是实现. 列表过渡 目前为止,关于过渡我们已经讲到: 单个节点 同一时间渲染多个节点中的一个 那么怎么同时渲染整个列表,比如使用 v-for ?在这种场景中,使用 <transition-group>组件.在我们深入例子之前,先了解关于这个组件的几个特点: 不同于 <transition>, 它会以一个真实元素呈现:默认为一个<span>.你也可以通过 tag 特性更换为其他元素. 内部元素 总是需要 提供唯一的

  • 详解Vue学习笔记入门篇之组件的内容分发(slot)

    介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ message }} </child-component> mess

  • 详解iOS学习笔记(十七)——文件操作(NSFileManager)

    iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像Android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录. 上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->6.1->Aplica

  • 快速入门python学习笔记

    本篇不是教给大家如何去学习python,有需要详细深入学习的朋友可以参阅:Python基础语言学习笔记总结(精华)本文通过一周快速学习python入门知识总计了学习笔记和心得,分享给大家. ##一:语法元素 ###1.注释,变量,空格的使用 注释 单行注释以#开头,多行注释以''开头和结尾 变量 变量前面不需要声明数据类型,但是必须赋值 变量命名可以使用大小写字母,数字和下划线的组合,但是首字母只能是大小写字母或者下划线,不能使用空格 中文等非字母符号也可以作为名字 空格的使用 表示缩进关系的空

  • Python学习笔记嵌套循环详解

    目录 1. 嵌套循环 2. break语句 3. continue语句 4. else语句 5. 循环代码优化 1. 嵌套循环 多重循环 代码测试1: # 嵌套循环 def test(): for i in range(5): for j in range(6): print(f"{i} ", end='') print('') # 换行 # Main if __name__ == '__main__': test() 代码测试2: # 九九乘法表 def test2(): for i

随机推荐