广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【Python】01、Python简介
  • 274
分享到

【Python】01、Python简介

简介Python 2023-01-31 07:01:15 274人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一、编程(程序设计)语言简介1、高级语言与低级语言一般来讲高级语言和低级语言有一下特点:高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可


一、编程(程序设计)语言简介

1、高级语言与低级语言

一般来讲高级语言和低级语言有一下特点:

高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好

低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差

       我们都知道CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码,但是为什么实现会有以上众多差异呢?下面以C语言为高级语言代表,汇编语言为低级语言代表来解释一下。

越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,使编写程序的过程更符合人类的思维习惯,并且极大了简化了人力劳动。也就是说你用高级语言写一句,会被转换成许多底层操作,大部分的工作交给了负责转换的机器(即编译器),从而人力得到了解放。因为机器就是用来为人类提供便利的,所以说高级语言的出现是计算机发展的必然结果。

      完成一项工作的工作量是不变的,机器做的 多了,人就做的就少了,同时人对程序的很多细节的控制性也减弱了。各种语言都是在这个平衡点附近纠结。从C/C++的注重机器运算效率的优化,到C#/JAVA注重开发效率的优化。人操作起来更加方便了,更高效了,代价就是,机器要处理的东西更多,运算效率被进一步压缩。但是这个压缩在许可范围内,那么这也是一种进步。


2、编译性语言、解释性语言

    计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。

    翻译的方式有两种,一个是编译,一个是解释。

    两种方式只是翻译的时间不同。编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

    解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。


3、脚本语言

    脚本语言(Script languages,scripting programming languages,scripting languages)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。

       早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。


4、动态语言和静态语言

静态类型语言:
       一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java 和 C 是静态类型语言。 

动态类型语言:
      一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript 和 python 是动态类型的,因为它们确定一个变量的类型是在您第一次给它赋值的时候。 


强类型语言:
       一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串

 
弱类型语言:
       一种类型可以被忽略的语言,与强类型相反。VBScript 是弱类型的。在 VBScript 中,您可以将字符串 '12' 和整数 3 进行连接得到字符串'123',然后可以把它看成整数 123 ,所有这些都不需要任何的显示转换。 


       Python 既是动态类型语言 (因为它不使用显示数据类型声明),又是强类型语言 (因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了),bash是弱类型语言


5、面向过程和面向对象

  面向过程(Proceduce Oriented)是一种面向过程的思维方式。当我们面临一个问题时,我们首先关注处理这个问题的流程(过程)。

  以指令为中心,由指令处理数据;如何组织代码解决问题

  比如,我们面临一个问题:“将大象装入冰箱”。最常用的思路就是直接关注过程,这样更加直接、更加有效,很快就可以完成问题。

解决方案如下:

    第一步、打开冰箱

    第二步、装入大象(大象如何抱起?本步骤可能面临非常多的细节问题)

    第三步、关上冰箱

  通过上述事例,在日常生活中面临很多问题,我们都是采用面向过程的思维方式来处理。日常问题一般都可以使用面向过程来处理。但是,如果面临复杂的问题,面向过程可能无能为力,这时候就需要使用面向对象的思维方式。


  面向对象(Object Oriented)就是以分类的方式进行思考和解决问题。面向对象的思维方式适合于处理复杂的问题。那么,什么叫做复杂的问题? 

 以数据为中心,所有的处理代码都围绕数据展开;如何设计数据结构组织数据,并提供对此类数据所允许的处理操作。

  复杂,往往指的就是“数量相当庞大”。在哲学上,我们有句话叫“量变引起质变”。当数量达到一定级别,就会出现复杂的管理问题。比如:我约一个人晚上吃饭,这个事情很简单,我只要关注整个过程就可以了。但是,如果我今天晚上约了3万人共进晚餐。这时候,首要的问题不是每个人吃饭的问题,而是这3万人怎么处理的问题?最直接的想法就是首先对着3万人进行分类处理。3万人可以分为:不吃饭的、喝粥的、吃素的、吃荤的、吃烧烤的等等。这样,我就可以让员工分类对各种情况进行合理的处理。

  这种简单的、朴素的分类思想,实质上就是面向对象的思维方式。依次我们发现,这种分类思想也是管理学的一个核心理念。


面向过程和面向对象的区别:

  面向过程适合处理简单的事情,直接关注流程,简单有效。

  面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。


面向过程和面向对象的联系:

  面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。

  面向对象如何离开了面向过程,就无法实现真正的落地,成为无源之水。


用最简短的话来解释“面向过程”和“面向对象”的区别该怎么说? 

  面向过程是一件事“该怎么做“,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了。


python支持面向过程也支持面向对象。


二、Python简介

1、Python简介

        Python是一种面向对象、解释型计算机程序设计语言,强类型动态语言

   由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

   2000年发布2.0;2008年发布3.0不向上兼容

   Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议。

   Python语法简洁清晰,有且只有一个最优解

   特色之一是强制用空白符(white space)作为语句缩进。

   Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/c++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。


python的定位:

  解释型通用语言(通用是相对于DSL(领域专用语言(如puppet所用的语言)来说的))

  优雅 明确 简单

  使用场景:WEB,自动化脚本,数据分析


python之禅:

  要完整了解python的哲学理念,可以在任意一个python解释器中键入import this命令,这是一个隐藏的彩蛋:描述了一系列python的设计原则。

[root@Python ~]# python
Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more infORMation.
>>> 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.
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!
>>>

翻译和解释:

Python之禅 by Tim Peters

 

优美胜于丑陋(Python 以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

当存在多种可能,不要尝试去猜测

而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)

虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )

做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)

命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)


2、Python使用场景

shell编程

   bash脚本更易于实现;自找麻烦,大材小用

编程(控制)语言:胶水语言

框架:使用框架完成特定应用程序开发,如web,Django开发


3、Python程序执行流程

wKioL1fI8zqTVO7jAAC49n_FcjE191.png

源码 --> 在PVM中编译字节码 --> 在PVM(解释器,python虚拟机)中执行


4、Python的实现(解释器)

CPython

         原始、标准的实现方式

Jython

         用于与Java语言集成的实现

IronPython

         用于与.net框架集成的实现


5、Python性能优化工具

Psyco

      Python语言的一个扩展模块,可以即时对程序代码进行专业的算法优化,可以在一定成都上提高程序的执行速度,尤其是在程序中有大量循环时。

      目前开发工作已经停止,由PyPy所接替

PyPy

      PyPy是Python实现的Python解释器,

      Python语言的动态编译器,是Psyco的猴急项目

      可以运行在linux的32位和64位,MacOSX和windows 32位平台中

Shed Skin

       Python编译器,能够将Python代码转换成优化的C++代码,


三、python程序

1、编写、执行Python代码

交互式解释器

  直接启动python,其显示信息取决于程序版本及操作系统


python程序文件

  交互式模式下的程序执行完成后难以再次运行

  将编写的程序保存至文件(.py)中方便多次运行

    python的此类包含了一些列预编写好的语句的程序文件称为模块

    能够直接运行的模块文件通常称作脚本(即程序的顶层文件)


2、pythoen源程序文件

       python源程序通常以.py为扩展名

例如,新建一个名为firstpycode.py的文件,内容如下:

#!/usr/bin/python
import platform
print platform.uname()

第一行为shebang,即执行脚本时通知内核要启动的解释器

第二行通过import导入一个python模块platform

第三行打印platform模块的uname方法的执行结果

给予此脚本执行权限,并执行即可


python程序可以分解成模块、语句,表达式和对象

  程序由模块构成

  模块包含语句

  语句包含表达式

  表达式建立并处理对象 

   表达式是”某事“,而语句是”做某事(即指令)“

     例如:”3+4“是某事,而”print 3+4“则是做某事

   语句的特性:他们改变了事物,

     例如:赋值语句改变了变量,print语句改变了屏幕输出等


3、python IDE(集成开发环境)

内置IDE:

   Python的各个常见发行版都有内置的IDE,虽然它们的功能一般不够强大完整,但简便易得就是最大的优势。 对于初学者来说,它们也是上手的最 好选择,可以让你更专注于语言本身而不会被繁复的IDE分散精力。


IDLE:

   IDLE是Python标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、调试器等基本组件,足以应付大多数简单应用。 IDLE是用纯 Python基于Tkinter编写的的,最初的作者正是Python之父Guido van Rossum本人。


Eclipse和PyDev

PythonWin

Komodo

Wingware

PyCharm:推荐


四、Python的安装

1、使用新版本的Python

简单方法:

1)编译安装新版本至某特定路径

   不要动系统默认版本的Python,很多程序都依赖于python


python编译安装:

[root@node3 ~]# yum install readline-devel    #先安装这个依赖包,没有安装的化,在python里删除和方向都不方便使用
[root@Node3 ~]# tar xf Python-2.7.6.tar.xz 
[root@Node3 ~]#  cd Python-2.7.6
[root@Node3 Python-2.7.6]# ./configure --prefix=/usr/local/python
[root@Node3 Python-2.7.6]# make && make install


--结束END--

本文标题: 【Python】01、Python简介

本文链接: https://www.lsjlt.com/news/190993.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Python】01、Python简介
    一、编程(程序设计)语言简介1、高级语言与低级语言一般来讲高级语言和低级语言有一下特点:高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可...
    99+
    2023-01-31
    简介 Python
  • 01-Python简介
    人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 Python 解释器 是用 C 语言实现的,并能够调用 C 语言的库文件.  Python(蟒蛇) ...
    99+
    2023-01-30
    简介 Python
  • 01 Oracle 简介和安装
    01 Oracle 简介和安装 1.Oracle 简介 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。Oracle数据库系统是目前世...
    99+
    2022-10-18
  • python简介
    Python是一种开源的面向对象编程语言随着人工智能与大数据分析的火热,python也随之火热起来Python应用广泛,特别适用以下几个方面1.系统编程:提供API(Application Programming Interface,应用程...
    99+
    2023-01-30
    简介 python
  • Python 简介
    Python介绍与特点(自学python知识整理) Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计: Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于P...
    99+
    2023-01-31
    简介 Python
  • Python-简介
      @ Python的由来    Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Pyt...
    99+
    2023-01-30
    简介 Python
  • Python——简介
    1、Python社区 Pypi:https://pypi.org/GitHub:https://github.com/StackOverFolw:https://stackoverflow.com/开源中国:https://www.osc...
    99+
    2023-01-31
    简介 Python
  • Python(二)python简介
    1.Python和shell一样,是解释型的编程语言2.Python解释器- cpython- ipython:上一章介绍过- pypy- jython- IronPython: 常用于.Net3.Python脚本查看python命令的位置...
    99+
    2023-01-31
    简介 Python python
  • Python~~简介介绍
    Python (英国发音:/paθn/ 美国发音:/paθɑn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于...
    99+
    2022-10-18
  • Python 01
    简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且...
    99+
    2023-01-31
    Python
  • python-01
    python中的输入   python2.x中为raw_input(),在python3.x中为input(),这两个函数都返回一个字符串对象,函数中的参数为字符串类型的提示语句 python中的数据类型   使用type()函数可以查看...
    99+
    2023-01-30
    python
  • Python爬虫教程-01-爬虫介绍
    Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 参考资料 精通Python爬虫框架Scrapy,人民邮电出版社 url, http web前端,html,css,...
    99+
    2023-01-30
    爬虫 教程 Python
  • Python简介———JJ
                          大家好!本人最近刚接触Python,并且打算把Python作为自己Linux上的编程语言。所以有些Python常识想和各位笔友分享一下!        Python(蟒蛇)是一种动态解释型的编...
    99+
    2023-01-31
    简介 Python JJ
  • Python matplotlib简介
    本文主要翻译自matplotlib官网  matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创...
    99+
    2023-01-31
    简介 Python matplotlib
  • 001-Python简介
    Python学习笔记之Python简介1、Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。2、Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚...
    99+
    2023-01-31
    简介 Python
  • python bottle 简介
    目录 正文  bottle 是一个轻量级的python web框架, 可以适配各种web服务器,包括python自带的wsgiref(默认),gevent, cherrypy,gunicorn等等。bottle是单文件形式发布,源码在这里可...
    99+
    2023-01-31
    简介 python bottle
  • 【python技能树】python简介
    1 Python定义 Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。 Python 是解释型语言: 开发过...
    99+
    2023-09-01
    python 开发语言 python技能树 python基础知识
  • Python Qt PySide6简介
    自今天起开学学习教程,有网页介绍,有视频,非常的详细。 现将主要内容摘录如下:(结合自己的实际情况,略有增删和变动)(采用边实践边写的模式) Python图形界面开发的几种方案 如果用 Python 语言开发 跨平台 的图形界面的程序,主要...
    99+
    2023-09-12
    python qt 开发语言
  • python - 爬虫简介
    什么是爬虫? 模拟浏览器对网站服务器发送请求解析服务器返回的响应数据,并保存数据 爬虫能获取哪些数据? 原则上所有可以通过浏览器获取的数据都可以爬取爬虫也只能获取爬取浏览器可以正常获取的数据 爬虫的应用场景? 数据分析 (如电影票房、股票信...
    99+
    2023-09-10
    爬虫
  • Python之struct简介
      一、struct简介        看到struct这么英文单词,大家应该并不陌生,因为c/c++中就有struct,在那里struct叫做结构体。在Python中也使用struct,这充分说明了这个struct应该和c/c++中...
    99+
    2023-01-31
    简介 Python struct
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作