热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Python基础03]第一个Python程序解释器及性能优化

文章目录1、python是一种编程语言2、第一个python程序3、程序运行原理解释4.程序中的注释4.1、单行注释4.2、多行注释5、程序中支持中文【python2】解释器及性能

文章目录

      • 1、python是一种编程语言
      • 2、 第一个python程序
      • 3、程序运行原理解释
      • 4. 程序中的注释
        • 4.1、 单行注释
        • 4.2、多行注释
      • 5、 程序中支持中文【python2】
      • 解释器及性能优化
        • 常见的python解释器
        • 性能优化


1、python是一种编程语言

python作为一种编程语言,通过编写程序的方式来解决问题
python编写的程序,是文本文件,后缀名称为[.py]

2、 第一个python程序

在我们的工作目录下,新建记事本文件,重命名为demo01.py
并打开文件添加内容

d:/resp_work/py_work/备课/days01/demo01.py
-----
print ("hello python, my name is 大牧莫邪!");

打开系统的命令行窗口,执行如下命令进入我们的代码所在文件夹

# 输入d:,表示从c:盘切换到d:盘
C:\Users\mouwe>d:
# cd命令,change directory,表示切换目录到命令后面指定的文件夹中
D:\>cd D:\resp_work\PY_WORK\备课\days01
# 使用python3的环境来执行程序,语法:python3 python源代码.py
D:\resp_work\PY_WORK\备课\days01>python3 demo01.py
hello python, my name is 大牧莫邪


3、程序运行原理解释

我们在demo01.py代码中,编写了内容print("…"),print在英文中表示打印的意思,这里的代码更加符合我们人类的语言习惯。但是计算器作为机器,它自己的逼格决定了它是读不懂人类的语言的。

所以,我们需要一个python开发环境,开发环境中有一个专门用来将符合人类语言的源代码翻译成机器能认识的语言的翻译器:解释器(PVM)。有了解释器,我们只要按照规范的语言编写了程序,就可以让计算机来按照我们期望的方式执行程序了,整个完整的源代码->解释->运行的过程如下:


4. 程序中的注释

注释是用来进行解释说明的文字,主要是对代码作用和功能的描述,用于提高代码的可读性
注释~代码中经常见到单行注释和多行注释

4.1、 单行注释

python中的单行注释,是以#符号开头的一行代码

# 这是单行注释,print()是用于打印输出数据的函数
print("hello python!")

4.2、多行注释

python中原本没有多行注释,使用多行字符串的形式来进行多行注释,多行字符串使用三个单引号来包含一段字符

# * * * * * * * * * * * * * * * * * * * * * * *
# 多个单行注释
# 描述更多的信息
# * * * * * * * * * * * * * * * * * * * * * * *
'''
多行注释, 是包含在三个单引号中的多行字符
用于进行比较重要的功能介绍或者注意的问题
描述等等
'''
print("hello python!");

5、 程序中支持中文【python2】

默认情况下,python2源代码中不支持中文,而是使用默认的ASCII编码,我们需要在python源代码的开头位置添加如下配置,来告诉python解释器支持中文处理

# -*- coding=utf-8 -*-
# 第一行添加上面的代码,特殊的单行注释,支持中文
print("这是一个支持中文的程序")

解释器及性能优化

上一节我们简单了解了python程序运行的过程,并且大家也都了解到开发环境中有一个python解释器(PVM)的存在,那在python中,这样的解释器主要都有哪些,那些又是比较好用的呢?

常见的python解释器


  1. 官方网站提供的解释器CPython

从官方安装好的python,默认自带了解释器,CPython就是官方版本的解释器,这个解释器是使用C语言编写的,这个解释器也是使用最为广泛的解释器,可以方便的和C/C++的类库进行交互


  1. 基于Java语言的python解释器Jython

一种由java语言编写的python解释器,是将python编译成java字节码然后执行的一种解释器;可以方便的和Java的类库进行交互


  1. 基于Net平台的python解释器IronPython

将Python代码解释为net平台上运行的字节码进行执行,类似Jython解释器,可以方便的和Net平台上的类库进行交互


  1. 一种增强了交互效果的解释器IPython

在交互效果上有所增强,但是执行过程和功能方面和CPython是一样的。


  1. 专注于执行速度的PyPy

一种使用JIT(just-in-time)技术的编译器,专注于执行速度,对Python代码进行动态编译,从而提高Python的执行速度。
但是,PyPy在处理python代码的过程中,一小部分功能的处理和官方的CPython的执行结果是有差异的,如果项目中要使用PyPy来进行执行效率的提升的话,一定要事先了解下PyPy和CPython的区别。


性能优化


1.Psyco:python语言的一个扩展模块,可以即时的对程序的代码进行专业的算法来进行优化,在一定程度上提高程序的执行速度,这个扩展模块目前已经停止维护,由PyPy替代,可以更好的对源代码进行优化处理

2.PyPy:是python实现的解释器,执行动态的编译{不是解释},可以在不同的操作系统平台上使用

3.Shed Skin:Python的编译器,可以将python代码转换成优化的C++代码执行



推荐阅读
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • Python语言简介、环境搭建、PyCharm的安装和配置
    一、Python语言简介1.1Python语言的基本概念官方对Python语言的介绍如下:Python是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能够简单又有效地实 ... [详细]
  • 开发笔记:超全的《 Django 入门教程 》上线了,居然还免费!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了超全的《Django入门教程》上线了,居然还免费!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
author-avatar
li永不言败ly_608
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有