0. 前言

最近在从头梳理Python的相关知识,有助于以后更好地学习新知识。这篇博客,我简单介绍一下Python语言的有关内容。

1. Python介绍

Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。[百度百科]

Python是一种面向对象的、解释型、动态数据类型程序设计语言,但它也是一种强类型语言。

  • 面向对象:一种软件开发方法,早期的编程是基于面向过程的方法的,也就是像C语言一样,啥都写成一个函数。但是随着工业项目的开发越来越大型,思路越来越复杂,面向对象的方法就诞生了,它的核心思想是将所有事物转化为一个个对象,将现实世界中的关系抽象成类和继承,再通过这种思路去对现实世界进行抽象与数字建模。

  • 解释型: 传统的编译型语言是通过编译器将源码编译成机器语言,而解释型语言是先将代码翻译成中间代码,再通过解释器进行解释运行的。(移步下方有介绍Python解释器种类。)

  • 动态数据类型: 不用在初始化时事先声明一个变量的数据类型是什么,你放什么数据进去,这个变量就是什么类型。很多同学容易将动态数据类型与弱类型搞混,弱类型是与数据类型转换相关的,而动态数据类型是与变量初始状态相关的。

  • 强类型: 也就是解释器不会自动转换变量数据类型,不像JavaScript,输入一个数字就自动将它转为整型,在Python里,输入一个数字它就是个字符,需要手动进行数据类型转换。

2. Python解释器

  • 官方CPython

C语言开发,最广泛的Python解析器。

  • IPython

一个交互式、功能增强的CPython。

  • PyPy

Python语言写的Python解释器,JIT技术,动态编译Python代码,因为JIT技术所以更灵活,更易于使用和试验。

  • Jython

Python的源代码转化成Java的字节码,跑在JVM上,既有CPython中继承的模块库,又可以调用Java类,所以它已经成为一个完整的语言了。

  • IronPython

与Jython类似,运行在.Net平台上的解释器,Python代码被转化成.Net的字节码。

3. 设计理念

很多同学都有听说,“人生苦短,我用Python。”这样的话。这是因为Python语言的设计理念之一就是:能用一种方法就只用这种方法。一个容易解释的方法就是好方法。在Python中内置有Python之禅。英语较好的同学可以看看。

# 输入这个语句可以看到The Zen of Python
import this
The Zen of Python, by Tim Peters Beautiful is better than ugly. 优美胜于丑陋
Explicit is better than implicit. 明了胜于晦涩
Simple is better than complex. 简单胜过复杂
Complex is better than complicated. 复杂胜过凌乱
Flat is better than nested.      扁平胜于嵌套
Sparse is better than dense.      间隔胜于紧凑
Readability counts.           可读性很重要
Special cases aren't special enough to break the rules. 即使假借特例的实用性之名,也不违背这些规则
Although practicality beats purity.   虽然实用性次于纯度
Errors should never pass silently.    错误不应该被无声的忽略
Unless explicitly silenced.        除非明确的沉默       
In the face of ambiguity, refuse the temptation to guess. 当存在多种可能时,不要尝试去猜测
There should be one-- and preferably only one --obvious way to do it. 应该有一个,最好只有一个,明显能做到这一点
Although that way may not be obvious at first unless you're Dutch.虽然这种 方式可能不容易,除非你是python之父
Now is better than never. 现在做总比不做好
Although never is often better than *right* now. 虽然过去从未比现在好
If the implementation is hard to explain, it's a bad idea. 如果这个实现不容易解释,那么它肯定是坏主意
If the implementation is easy to explain, it may be a good idea. 如果这个实现容易解释,那么它很可能是个好主意
Namespaces are one honking great idea -- let's do more of those! 命名空间是一种绝妙的理念,应当多加利用
>>>

4. Python的发展

Python因为近年来机器学习和人工智能的兴起,也被越来越多人使用。但是它本身也是一门非常优秀的语言,也可以用于web开发、游戏开发、自动化等方面。截止至2018.12,Python在TIOBE排行榜排第三名。

TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,反映某个编程语言的热门程度。

5. 写在最后

无论是什么语言,只要学好了,都能排上用场。既然选择了Python,那便风雨兼程。

与各位共勉。

Python的简单介绍的更多相关文章

  1. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  2. python 的排名,已经python的简单介绍

    我在今天看了一篇文章,是简书的全网程序猿写的,Java已经退出神坛,python稳居第一. python是由龟叔写的,它在英文的意思是蟒蛇. 根据编程语言流行指数排行榜2019年2月的榜单 据了解,目 ...

  3. 用Py2exe打包Python脚本简单介绍

    一.简述      Py2exe,从这个名字上就可以理解,把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具.经过转换后,你可以不 用安装Python的执行环境就可 ...

  4. Python爬虫简单介绍

    相关环境: Python3 requests库 BeautifulSoup库 一.requests库简单使用 简单获取一个网页的源代码: import requests sessions = requ ...

  5. python lambda简单介绍

    python lambda 在python中,如果想要创建函数需要使用关键字def,而如果想要创建匿名函数,就需要使用lambda. lambda创建的函数和def创建的函数有什么区别? def创建的 ...

  6. python sshtunnel 简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 安装 pip3. ...

  7. Python: Pycharm简单介绍

    1. Pycharm是什么?                                                                                       ...

  8. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  9. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

随机推荐

  1. MongoDB的Replica Set以及Auth的配置

    http://blog.0x01.site/2017/01/13/MongoDB%E7%9A%84Replica-Set%E4%BB%A5%E5%8F%8AAuth%E7%9A%84%E9%85%8D ...

  2. MyBatis updateByExample和updateByExampleSelective的区别

    大家都用过mybatis generator来生产数据库的xml文件,但是关于updateByExample和updateByExampleSelective的区别我之前一直分不太清楚. 如果分不清楚 ...

  3. Visual Studio Code 如何将新项目发布到GIT服务器

    1.在VSCode中新建或打开未添加源码管理的文件夹 2.按Ctrl+Shift+G切换到"源控件"视图,点击右上方的[初始化储存库]按钮 3.输入消息内容,然后点击右上方的[提交 ...

  4. dubbo服务达成jar包

    <build> <finalName>dubbo-provider</finalName> <!-- jar包名,一般设置为提供者服务名 --> < ...

  5. PYTHON基础入门(内置函数、推导式)学习

    **内建函数**1.通过使用dir()函数可以列出所具备的方法 例:num = 10 dir(num) 例:myList = [1,2,3,4,5,6] dir(num)2.通过使用help()函数可 ...

  6. [C#.Net]Window服务调用外部程序

    最近遇到要做回传服务内增加开关,可以自定义运行一些脚本已方便收集PC状态,发现Bat始终无法运行,上网找了半天才发现和Session0有关,也就是程序有不同级别的访问权限,Vista以上版本为了安全因 ...

  7. asp.net core web 项目附加进程调试

    之前asp.net web项目在部署IIS站点的时候可以直接选择项目目录,不用发布,然后附加进程的时候,找到w3wp.exe开头的进程,再根据用户名找到要附加的进程,就可以附加进程调试了.但asp.n ...

  8. freeMark模板引擎

    http://blog.csdn.net/shimiso/article/details/8778793

  9. 爬取QQ音乐(讲解爬虫思路)

    一.问题描述: 本次爬取的对象是QQmusic,为自己后面做django音乐网站的开发获取一些资源. 二.问题分析: 由于QQmusic和网易音乐的方式差不多,都是讲歌曲信息放入到播放界面播放,在其他 ...

  10. mysql 数据库链接 过期产品

    注意下面的"@" 必须要加的!否则会报错! $link = @mysql_connect('localhost','root','root') or die("link ...