Python简介

Python语言由Guido van Rossum在1989年创立,旨在创造一种既具有C语言的强大功能又易于使用的编程语言。Python强调代码的可读性和简洁性,支持多种编程范式,如面向对象、命令式、函数式和过程式编程。Python因其易学、易读、易维护和广泛的标准库而受到欢迎。Python的缺点包括运行速度较慢和线程不能充分利用多核资源。Python广泛应用于Web开发、科学计算、人工智能、网络软件开发、操作系统管理和游戏开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python介绍

在这里插入图片描述


(Python的起源)

1.Python的起源:

Python的创始人Guido van Rossum(吉多·范罗苏姆,俗称“龟叔”)。1989年为了打发无聊的圣诞节,龟叔决定开发一门新的语言–Python.
1991年Python的一个版本诞生了,Python从诞生到现在大概有30年时间了,为什么直到最近几年Python才被人们所熟知,才火起来。
在80年代,虽然IBM和苹果已经掀起了个人电脑浪潮,但是这些个人电脑配置在今天看来很低,。比如早期的Macintosh(麦金塔电脑,苹果公司生产的一种型号的计算机),只有8MHz的CPU主频和128KB的RAM(内存),现在的电脑CPU主频2.5GHz,内存8GB,一个大的数组就能占满内存。因此80年代的编程语言例如Pascal、C、Fortran等语言。这些语言的基本设计原理就是让机器能更快运行,为了增加效率,编程语言也迫使程序员想计算机一样思考,以便能写出更加符合机器口味的程序(让程序员按照计算机思考方式去写程序)。然而,这种思考方式让Guido感到苦恼。Guido知道如何用C语言写一个功能,但是编写过程需要耗费大量的时间。
Guido希望有一种语言,这种语言能够像C语言那样能够全面调用计算机的功能接口,又可以轻松的编程。ABC语言让Guido看到了希望。ABC是荷兰的CWI开发的,Guido在CWI工作,并参与到ABC语言的开发中,ABC语言以教学为目的。与当时的大部分语言不同,ABC语言的目标时“让用户感觉更好”,ABC语言希望让语言变得额容易理解,容易阅读,容易使用,容易记忆,容易学习,并以此激发人们学习编程的兴趣。
尽管已经具备了良好的可读性和易用性,ABC语言最终没有流行起来。在当时,ABC语言编译器需要比较高配置的电脑才能运行

前辈ABC语言的实际也存在一些致命问题。

1.可拓展性差

ABC语言不是模块化语言。如果想在ABC语言中增加功能,比如对图形化的支持,就必须改动很多地方。

2.不能直接进行IO

ABC语言不能直接操作文件系统,尽管你可以通过注入文本流的方式导入数据,但ABC无法直接读写文件。输入输出的困难对于计算机语言来说时致命的。你能想像一个打不开车门的跑车。

3.过度革新

ABC用自然语言的方式来表达程序的意义,比如定义一个函数使用HOW TO (如何)。然而对于程序员来说,他们更习惯用function或者define来定义一个函数。 这尽管让ABC语言显得特别,但实际上增加了程序员的学习难度。 因此1989年,龟叔决定开发一门新的语言Python作为ABC语言的一种继承。

2.Python的发展:

1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,因 此Python语法很多来自C,但又受到ABC语言的强烈影响。比如强制缩进。但这 些语法规定让Python容易读。

Python从一开始就特别在意可拓展性(extensibility)。Python可以在多个层次上 拓展。从高层上,你可以引入.py文件。在底层,你可以引用C语言的库。 Python程序员可以快速的使用Python写.py文件作为拓展模块。但当性能是考虑 的重要因素时,Python程序员可以深入底层,写C程序,编译为.so文件引入到 Python中使用。Python就好像是使用钢构建房一样,先规定好大的框架。而程 序员可以在此框架下相当自由的拓展或更改。 Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的 编程思考。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体 的实现细节 (Guido有一件T恤,写着:人生苦短,我用Python)。在这里插入图片描述
这一特征吸引 了广大的程序员。 所以许多人开始转向Python。Guido维护了一个maillist,Python用户就通过邮件 进行交流。Python用户来自许多领域,有不同的背景,对Python也有不同的需 求。Python相当的开放,又容易拓展,所以当用户不满足于现有功能,很容易 对Python进行拓展或改造。随后,这些用户将改动发给Guido,并由Guido决定
是否将新的特征加入到Python或者标准库中。如果代码能被纳入Python自身或 者标准库,这将极大的荣誉。Python自身也因此变得更好。
Python的功能越来越强大,现在又是人工智能时代。Python正好符合了人工智 能时代的需求。因此Python现在越来越火

3.Python简介:

在这里插入图片描述
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色的语法结构。

  • Python 是一种解释性语言: 这意味着开发过程中没有编译这个环节,类似于PHP和Prel 语言。
  • Python 是交互式语言: 这意味着,您可以在一个Python提示符>>>后执行代码。
  • python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  • Python是初学者的语言 Python对初学者而言,是一种伟大的语言,他支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏。

4.Python的特点

  • 1.易于学习: Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  • 2.易于阅读: Python的代码定义更清晰。
  • 3.易于维护: Python的成功在于源代码是相当容易维护的。
  • 4.一个广泛的标准库: Python的最大优势之一就是有丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
  • 5.互动模式: 互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试的调试代码片段。
  • 6.可移植: 基于其开源的特性,Python已经被移植到许多平台。
  • 7.可拓展: 如果你需要一段运行很快的关键代码,或者想要编写一些不愿意开放的算法,你可以使用C/C++完成那部分程序,然后从你的Python程序中调用。
    在这里插入图片描述
  • 8.数据库: Python提供所有主要的商业数据库的端口。
  • 9.GUI编程: Python 支持GUI可以创建和移植到许多系统上调用。
  • 10.可嵌入 你可以将Python嵌入到C/C++程序,让你的程序的用户获得脚本化能力。

5.Python缺点:

  • 1.运行速度慢: Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,但是在大 多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度 要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
  • 在这里插入图片描述
  • 2.中文资料缺乏: 好的python中文资料屈指可数
  • 3.线程不能利用多核: 这是Python被人诟病多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅 有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为 pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个 python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核 CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折 衷解决方法,我们在以后线程和进程章节里再进行详细探讨。

6.Python应用场景:

1.web应用开发:

众多大型网站均为Python开发。 豆瓣:公司几乎所有的业务均是通过Python开发的 知乎:国内大的问答社区,通过Python开发(Quora) 春雨医生:国内知名的在线医疗网站是用Python开发的 还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等 公司都在使用Python完成各种各样的任务。 国外的网站:

  • 谷歌: Google App Engine、code.Google.com、Google earth、谷歌爬虫、 Google广告等项目都在大量使用Python开发。
  • CIA: 美国中情局网站就是用Python开发的
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
  • YouTube: 世界上大的视频网站YouTube就是Python开发的 Dropbox:
    美国大的在线云存储网站,全部用Python实现,每天网站处理10亿 个文件的上传和下载
  • Instagram: 美国大的图片分享社交网站,每天超过3千万张照片被分享,全部 用Python开发
  • acebook: 大量的基础库均通过Python实现的
  • Redhat: 世界上流行的Linux发新版本中的yum包管理工具就是用Python开发 的
2.科学计算、人工智能

在这里插入图片描述
Python由于具有编写简单、改动少等特点。特别适合用在机器学习方向。并且 提供了丰富的库。减少了学习人工智能的成本。 NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。

3.服务器软件(网络软件)

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted[ˈtwɪstɪd] 支持异步网络编程和多数标准的网络协议(包 含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软 件。

4.操作系统管理、服务器运维的自动化脚本

在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及 NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行 Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的 Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用 Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统 功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM 服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重 用度、扩展性几方面都优于普通的shell脚本。

5.游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏 的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支 持更多的特性和数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌拉的故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值