python源程序的扩展名是什么?
一、python源程序的扩展名
.py:
以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行。可用文本编辑器读写。
.py3:
Python3脚本(Python3脚本通常以.py而不是.py3结尾,很少使用)。
.pyc:
以 pyc 为扩展名的是Python的编译文件。其执行速度快于 py 文件且不能用文本编辑编辑查看。所以 pyc 文件往往代替 py 文件发布。
Python 在执行时,首先会将 py 文件中的源代码编译成 PyCodeObject 写入 pyc 文件,再由虚拟机执行 PyCodeObject。当 Python 执行 import 时会先寻找对应的 pyc或 pyd(dll)文件,如果没有则将对应的py文件编译写入 pyc 文件。pyc文件也可以通过python -m py_compile src.py生成。
.pyc二进制文件可以反编译成.py文件,反编译软件叫Easy Python Decompiler。
.pyo:
pyo 是优化编译后的程序,不能用文本编辑器编辑。python -O source.py即可将源程序编译为 pyo 文件。
这是在优化(-O)时创建的*.pyc文件,从Python3.5开始,Python将只使用.pyc而不是.pyo和.pyc。
.pyd:
这基本上是一个Windows DLL文件。
pyd 一般是 Python 外的其他语言如 C/C++ 编写的 Python 扩展模块,即 Python 的一个动态连接库,与 dll 文件相当。在Linux系统中一般为.so文件
.pyi:
MyPy存根,存根文件(PEP 484)。
.pyw:
用pythonw.exe执行的Windows的Python脚本。
pyw 文件与 pyc 文件相似,但 pyw 执行的时候不会出控制台窗口。开发(纯图形界面程序)时可以暂时把 pyw 改成 py 以调出控制台窗口调试。
.pyx:
将Cython src转换为C/C++。
.pyz:
Python脚本归档(PEP 441)(这是一个包含标准Python脚本头之后的二进制形式的压缩Python脚本(ZIP)的脚本)。
.pywz:
用于MS-Windows的Python脚本归档(PEP 441)(这是一个包含标准Python脚本头之后的二进制形式的压缩 Python脚本(ZIP)的脚本)。
.py [cod]:
.gitignore中的通配符表示该文件可能是.pyc,.pyo或.pyd。
.rpy:
包含应用程序或框架特定功能的RPython脚本或Python脚本。
.pyde:
处理使用的Python脚本。
.pyp:
Py4D Python插件。
.pyt:
Python声明文件。
延伸阅读:
二、pytho语言特点优点
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:Python极其容易上手,因为Python有极其简单的说明文档[8]。
易读、易维护:风格清晰划一、强制缩进
用途广泛
速度较快:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。[7]
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools,itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
以上就是关于python的内容希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
在Scala中用def重写和val重写父类有什么区别?
一、在Scala中用def重写和val重写父类的区别在Scala中,子类可以用def或val重写父类的方法。这两种方式有以下区别:def关键字定义的方法可以被...详情>>
2023-10-11 22:26:27
java中continue和break区别?
一、java中continue和break区别break的定义在Java中,break具有三个用途。名列前茅个它用于终止switch语句中的case,第二个用于终止包含break的...详情>>
2023-10-11 16:58:22
java web 与jsp的区别?
一、java web 与jsp的区别1、jsp服务于java web开发,javaweb是使用java语言进行web系统开发。web系统开发现在主流的是MVC的三层架构,而jsp就...详情>>
2023-10-11 14:49:53
进程和线程的区别是什么?
一、进程和线程的区别1、概念不同进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。线程:一个进程内的基本调度单位。线程的...详情>>
2023-10-11 13:52:13热门推荐
Python的int取整和//整除有什么区别?
沸在Scala中用def重写和val重写父类有什么区别?
热for和foreach区别?
热form表单和ajax的区别?
新error和exception区别?
循环程序结构和分支程序结构结构有哪些区别?
MPG后缀和MP4后缀有哪些区别?
SQL Server中,ANY与ALL有什么区别?
DataExchange和RTB Exchange 有哪些区别?
jquery和javascript的区别?
Java开发工程师和后端开发工程师有哪些区别?
Java 中字节流与字符流的区别?
java中continue和break区别?
error 和 exception的区别?
技术干货






