Python(KK 英语发音:/'pa θɑn/, DJ 英语发音:/ paiθ n/)是一种面向对象、直译式计算机程序设计语言,创始人为Guido van Rossum。这种语言的语法简捷而清晰。Python具有丰富和强大的类库。python常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

执行机制 Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

风格

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python直接编写的程序段有时运行效率甚至高于用C编写的程序。

它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it.

有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

优点 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。

免费、开源:Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性:由于它的开源本质,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既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

概括:Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。

规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。

局限

强制缩进:这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。不过一旦度过了开始的不适期,你就会体会到它的无穷魅力!

单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个。py文件。(对很多用户而言这也不算是限制)

应用   系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。   图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。   数学处理:NumPy扩展提供大量与许多标准数学库的接口。   文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。   数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,Mysql、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。   网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。   Web编程:应用的开发语言,支持最新的XML技术。   多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

python采用强制自动缩进使代码具有极佳的可读性_Python的详细介绍相关推荐

  1. python采用强制自动缩进使得代码具有极佳的可读性_Python简介

    1. python设计定位 Python的设计哲学是"优雅"."明确"."简单".Python开发者的哲学是"用一种方法,最好是只 ...

  2. python采用强制缩进的方式是代码具有极佳的可读性_python入门

    python具有相当多的又优势:1. 简单:Python奉行简洁主义,易于读写.:2. 免费:Python是开源软件.:3. 兼容性:Python兼容众多平台.:4. 面向对象:Python既支持面向 ...

  3. python采用强制缩进的方式使得代码具有极佳的可读性_Python 的教程(2)

    解释性 -- 这一点需要一些解释.一个用编译性语言比如 C 或 C++ 写的程序可以从源文件(即 C 或 C++ 语言)转换到一个你的计算机使用的语言(二进制代码,即0和1).这个过程通过编译器和不同 ...

  4. python采用强制缩进的方式使得代码具有极佳的可读性_python3的优势有哪些

    python3的优势有哪些 发布时间:2020-09-10 13:56:31 来源:亿速云 阅读:59 作者:Leah 本篇文章给大家分享的是有关python3的优势有哪些,小编觉得挺实用的,因此分享 ...

  5. python采用强制缩进的方式使得代码具有极佳的_Python基础

    Python的哲学: 明确,优雅,简单 Python更强大,执行效率比shell该 Python可以跨平台 可移植性好,标准统一,在不同的平台程序结果一样,但是shell可能不一样 python模块丰 ...

  6. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python

    这篇文章主要为大家详细介绍了unittest+coverage单元测试代码覆盖操作的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于上一篇文章,这篇文章是关于使用coverage来实现代码 ...

  7. python采用强制缩进if_Python缩进和选择解析

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 缩进 Python最具特色的就是用缩进来写模块.我们下面以if选择结构来举例.if后面跟随条件,如 ...

  8. [转载] python中pass的使用_Python pass详细介绍及实例代码

    参考链接: Python pass语句 Python pass详细介绍及实例代码 Python pass的用法: 空语句 do nothing 保证格式完整 保证语义完整 以if语句为例,在c或c++ ...

  9. python代码文件方式_关于.py文件的详细介绍

    这篇文章主要给大家介绍了在Python中.py文件打包成exe可执行文件的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧.前言最近做了几个简单的爬虫pytho ...

  10. python手机屏幕自动点击代码_鼠标隔段时间自动点击屏幕

    知识点:Python库及简单定时器的使用 1. 鼠标自动点击屏幕代码 (1). 首先 pip install pymouse (2).  运行代码出现:ModuleNotFoundError: No ...

最新文章

  1. RPM包安装LAMP及httpd虚拟机SSL实现
  2. 树莓派上搭建Git服务器
  3. 掌握 Kafka,看这篇就足够了
  4. 使用Python打造一款间谍程序
  5. Android Studio 编译异常Could not execute build using Gradle installation解决办法
  6. 锐捷linux上网教程,校园网Ubuntu锐捷(myxrgsu)安装联网方法
  7. JZ6-旋转数组的最小数字
  8. HDU 6351 (Beautiful Now) 2018 Multi-University Training Contest 5
  9. 推荐给java新手的JAVA零基础入门书籍
  10. proDAD Adobe pr cc2020 会声会影视频转场特效制作软件,滤镜特效插件
  11. Matlab绘图线条颜色,线型,标记点选项参数
  12. 基于K均值聚类算法的图像分割(Matlab)
  13. PhpSpreadsheet读写Excel文件
  14. 拼写检查工具是android,Android基础知识之拼写检查框架
  15. Learn Git Branching 学习笔记(Git 技术、技巧与贴士集合篇)
  16. Python微信防撤回,基于itchat模块
  17. 转-零死角玩转stm32-高级篇之SDIO(4bit + DMA、支持SDHC、带协议分析)
  18. 全国表彰|达观数据创始人陈运文博士荣获第十一届“中国青年创业奖”,是上海唯一获奖者
  19. iOS9不受信任的企业开发人员,无法信任
  20. 汇编语言实现两个多位十进制数相减实验

热门文章

  1. 使用DotNet以来一直都有出现这样的问题
  2. fixed定位之后,如何让div上下垂直居中
  3. 11.企业安全建设入门(基于开源软件打造企业网络安全) --- 办公网数据防泄漏
  4. 1.数据结构 --- 绪论
  5. 30.卷1(套接字联网API)---客户/服务器程序设计规范
  6. 21.卷1(套接字联网API)---多播
  7. 7.高性能MySQL --- MySQL 高级特性
  8. 12. 指针、句柄、引用的区别
  9. 1. 第一个lavarel 项目
  10. cmd进入mysql界面的命令