我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Python的前世今生,希望能够帮助到大家学习Python。

诞生

创始人:Guido van Rossum。

国籍:荷兰。

主要成就:发明 Python 语言。

发明日期:1989年圣诞节。

发明初衷:为了打发圣诞节的无趣,决心开发一个新的脚本解释程序。

名字由来:从作者喜欢的肥皂剧「Monty Python飞行马戏团」中得名。

Guido van Rossum

语言特点

Python 的设计哲学是「优雅」、「明确」、「简单」。

Python 的设计理念是:用一种方法,最好是只有一种方法来做一件事。

所以,python 源码具备好的可读性。

为了证明 Python 的简洁,我给大家准备了一个福利,在七夕节送给你爱的人。

这个福利只需一行代码就够了。

print('\n'.join([''.join([('AndyLove'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))

执行结果:

心动了吗?心动不如行动。赶紧详细了解下强大的 Python。

Python 是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python 支持重载运算符和动态类型。

Python 提供了丰富的 API 和工具,以便程序员能够轻松地使用 C 语言、C++、Cython 来编写扩充模块。Python 编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把 Python 作为一种“胶水语言”(glue language)使用。使用 Python 将其他语言编写的程序进行集成和封装。

主要特点如下:

1 简单

Python 是一种代表简单思想的语言。

2 易学

Python 有极其简单的语法。

3 免费、开源

Python 是 FLOSS(自由/开放源码软件)之一。

4 高层语言

使用 Python 编写程序时无需考虑如何管理程序使用的内存一类的底层细节。

5 可移植性

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。

6 解释性

可以直接从源代码运行。在计算机内部,Python 解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。

7 面向对象

Python 既支持面向过程编程也支持面向对象编程。

8 可扩展性

部分程序可以使用其他语言编写,如c/c++。

9 可嵌入型

可以把 Python 嵌入到 c/c++ 程序中,从而提供脚本功能。

10 丰富的库

Python 标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk 和其他与系统有关的操作。

Python版本

Python 主要版本有 2.x 和 3.x。2.x 和 3.x 相比主要有哪些变化?

print

在进行程序调试时用得最多的语句可能就是 print,在 Python 2 中,print 是一条语句,而 Python 3 中作为函数存在。有人可能就有疑问了,我在 Python 2 中明明也看到当函数使用。

# py2
print("hello")
#输出:
hello
#py3
print("hello")
#输出:
hello

然而,你看到的只是表象,那么上面两个表达式有什么区别?从输出结果来看是一样的,但本质上,前者是把 ("hello") 当作一个整体,而后者 print() 是个函数,接收字符串作为参数。

# py2
print("hello","brucepk")
#输出:
('hello', 'brucepk')
#py3
print("hello","brucepk")
#输出:
hello brucepk

这个例子就很明显了,在 py2 中,print 语句后面接的是一个元组对象,而在 py3 中,print 函数可以接收多个位置参数。

编码

Python2 的默认编码是 asscii,这也是导致 Python2 中经常遇到编码问题的原因之一,至于是为什么会使用 asscii 作为默认编码,原因在于 Python 这门语言诞生的时候还没出现 Unicode。Python 3 默认采用了 UTF8 作为默认编码,因此你不再需要在文件顶部写 # coding:utf-8 了。

其他的不同点就不一一列举了,因为作者已经通知大家了。

2018年3月,该语言作者在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

版本选择

所以有选择困难症的同学不用纠结了,小白们直接选 python3 学习吧。

但是有些小白在我技术交流群反馈他们现在学习 Python 还是选择 Python2,原因是:网上找的教程资料都是 Python2 的,扎心了,老铁们。我网盘里有大量 Python3 的学习资料,公众号回复「py」获取。

人生苦短,我用 Python

7 月 20 日,IEEE 发布 2017 年编程语言排行榜:Python 高居首位。

Python 如今这么火爆的原因是什么呢?以下几点分析供参考。

12 年到 14 年是云计算最火爆的几年,大批创业公司和巨头挤破头地进军云计算领域,大家都在做 IAAS,最著名的云计算开源平台 OpenStack 就是基 于Python 开发的,为此催生出不少 Python 岗位。

14 年到 15 年是「大众创新,万众创业」口号喊得最响两年,北京大街小巷似乎人人都是创业者,O2O、P2P 产品如雨后春笋般冒出,什么语言最适合快速搭建原型?当然是 Python,Python 的开发速度一个顶三。

16 年 17 年人工智能火遍大江南北,AlphaGO 的出现让业界为之兴奋,人工智能不再是概念,而人工智能、机器学习的首选语言就是Python。

这两年特别是网络爬虫火得一塌糊涂,10个写爬虫的9个在用Python,为什么爬虫这么火,这个还是跟大数据有关,因为数据挖掘、分析、机器学习、人工智能都需要大数据的支撑,而真正有大数据的厂商没几个,所以小厂不得不通过爬虫去获取数据。

Python 如此简洁和强大,所以,人生苦短,我用 Python。

所以我给想转行入 IT 的人一些建议,当你还在是选择 Java 还是选择 Python 这个问题面前徘徊时,不妨想想趋势,虽然 Java 仍然是现在世界上最流行的语言,但是你现在学 Java,和入行多年的人来说,你毫无胜算。Python 作为新生代的宠儿,是未来的趋势语言。所以,当你毫无优势时,你应该把赌注全部押在趋势上,这是最有可能让你弯道超车的方式。

好了,以上就是小编为大家带来的Python的相关消息,希望对打算学习Python的你,或是在学习Python中的你给到帮助。

本文到此告一段落了,喜欢本文的小伙伴可以点波关注或转发,以此帮助更多的人!

本文来自网络,如有侵权,请联系小编删除!

Python入门第一课——Python的起源、发展与前景!的更多相关文章

  1. python自动化第一课 - python安装以及pycharm配置

    1.安装python 1.1打开python官网https://www.python.org/downloads/windows/进行下载Python 3.8.0 1.2下载完毕后进行安装,1勾选 A ...

  2. Python作业第一课

    零基础开始学习,最近周边的同学们都在学习,我也来试试,嘿嘿,都写下来,下次不记得了还能来看看~~ Python作业第一课1)登陆,三次输入锁定,下次不允许登陆2)设计一个三级菜单,菜单内容可自行定义, ...

  3. Asp.Net Web API 2(入门)第一课

    Asp.Net Web API 2(入门)第一课   前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎 ...

  4. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  5. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  6. python学习第一课要点记录

    写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写 ...

  7. 初学Python(第一课)

    今天整理一下关于Python初学者的基础知识部分的第一课,因为之前学习过C,所以过于基础的知识就不详细记录了. Python相对于C\C++来说,在语法方面已经很简单了:甚至对于JavaScript也 ...

  8. nyoj 259-茵茵的第一课 (python, input, print)

    259-茵茵的第一课 内存限制:64MB 时间限制:3000ms 特判: No 通过数:23 提交数:36 难度:0 题目描述: 茵茵今年已经六年级了,爸爸给她报了一个学习程序设计的班. 第一节课上, ...

  9. python学习第一课

    第一课: 1.不要使用来路不明的软件 2.下载杀毒软件 3.不懂技术的人在技术人面前会显得愈发无知 4.python无所不能 需要掌握的知识: 1.python基本语法 2.文件处理 3.函数 4.模 ...

随机推荐

  1. java多线程 synchronized关键字的一些用法

    看这篇文章啦: http://blog.csdn.net/xiao__gui/article/details/8188833

  2. 性能测试学习第四天_Loadrunner概述

    1.Loadrunner的组成部分 ·脚本生成器VuGen:virtual user generator ·压力控制器Controller,License主要在这里控制 ·结果分析软件Analysis ...

  3. 初识MAC(由window到mac的转变适应)

    * Windows上的软件可以拿到Mac上面安装吗? Windows上面的软件不能拿到Mac的操作系统上安装,除此之外,Windows里的 exe文件,在Mac下面也是无法运行的,要特別注意.如果你要 ...

  4. Devexpress之GridControl显示序列号

    先上图: 操作方法: 1.先设置一下gridview中属性:IndicatorWidth,一般为:40.如下图:(一般可以显示5位数字.如要更长显示,自己测试一下.) 2.找到gridview中的:C ...

  5. VMware 虚拟机安装及部署

    Linux系统安装及网络配置 这篇文章介绍关于Linux系统的安装以及网络配置,关于虚拟机配置中网络的几个模式区别进行详细讲解.学习Linux对于后端开发人员来说是很有必要的,结合实际开发,Linux ...

  6. HTTP缓存技术,304和200有何区别

    为什么有的缓存是 200 OK (from cache),有的缓存是 304 Not Modified 呢?很简单,看运维是否移除了 Entity Tag.移除了,就总是 200 OK (from c ...

  7. C#添加删除防火墙例外(程序、端口)

    一. 添加 COM 引用 在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可 二. 添加允许通过防火墙的例外程序 using System; using System.Coll ...

  8. LeetCode Best Time to Buy and Sell Stock II (简单题)

    题意: 股票买卖第2题.给出每天的股票价格,每次最多买一股,可以多次操作,但是每次在买之前必须保证身上无股票.问最大的利润? 思路: 每天的股票价格可以看成是一条曲线,能卖掉就卖掉,那么肯定是在上升的 ...

  9. selenium模糊匹配控件

    起因:在查找一些控件时,可能控件的一些属性是变化的,那在匹配时需要进行模糊匹配,模糊匹配,使用xpath 定位方式有种: contains(属性名,字符串):使用文本匹配,功能很强大 starts-w ...

  10. 一、Web 如何工作的

    平常我们在浏览器中输入一个网址,随即看到一个页面,这个过程是怎样实现的呢?下面用一幅图来说明: 整个流程如下: 1.域名解析  浏览器会解析域名对应的IP地址 PS:DNS服务器的知识 2.建立TCP ...