首页 > 编程语言 >python核心编程

python核心编程

时间:2024-07-12 17:19:19浏览次数:22  
标签:解释器 语言 python 核心 代码 编程 Python 安装

第一章

1. python定义

继承了传统编译语言的强大性和通用性,也借鉴了简单脚本和解释型语言的易用性

2. python起源

1989年底罗萨姆始创了python。他期望有一种工具可以完成日常系统管理任务,并能够访问Amoeba分布式操作系统的系统调用。罗萨姆为此创造出了一种通用的程序设计语言。1991年,python发布了第一个公开发行版。

3. python特点

3.1 高级

语言的升级:汇编语言→C→C++\Java等现代编译语言→可以进行系统调用的解释性脚本语言,perl、python等。
这些语言都有高级的数据结构:

  1. 比如python有列表(数组)和字典(哈希表)内建于语言本身。
  2. C中,混杂数组(python中的列表)和哈希表(python中的字典)没有标准库,需要重复实现。
  3. C++使用标准模板库改善了这一情况,但还是很难与python的列表和字典的简洁和易读相提并论的。

3.2 面向对象

python的面向对象特性是与生俱来的。python不仅是一门面向对象语言,它融合了多种编程风格,比如借鉴了像Lisp这样的函数语言的特性。

3.3 可升级

Python 提倡简洁的代码设计、高级的 数据结构和模块化的组件,这些特点可以让你在提升项目的范围和规模的同时,确保灵活性、 一致性并缩短必要的调试时间。
我们试图用“可升级”来传达一种观 念,这就是:Python 提供了基本的开发模块,你可以在它上面开发你的软件,而且当这些需要扩展和增长时,Python 的可插入性和模块化架构则能使你的项目生机盎然和易于管理

3.4 可移植性

在各种不同的系统上可以看到 Python。
因为 Python 是用 C 写的,又由于 C 的可移植性,使得 Python 可以运行 在任何带有 ANSI C 编译器的平台上。
尽管有一些针对不同平台开发的特有模块,但是在任何一个平台上用 Python 开发的通用软件都可以稍事修改或者原封不动的在其他平台上运行。这种可移植性既适用于不同的架构,也适用于不同的操作系统。

3.5 可扩展

就算项目中有大量的 Python 代码,也可以有条不紊地通过将其分离为多个文件或模块加以组织管理。而且你可以从一个模块中选取代码,而从另一个模块中读取属性。
对于所有模块,Python 的访问语法都是相同的。不管这个模块是标准库的还是自己创建的,哪怕是用其他语言写的扩展。
代码中的瓶颈,可能是在性能分析中总排在前面的那些热门或者一些特别强调性能的地方, 可以作为 Python 扩展用 C 重写。很多时候,使用编译型代码重写程序的瓶颈部分绝对是益处多多的,因为它能明显提升整体性能。
程序设计语言中的这种可扩展性使得工程师能够灵活附加或定制工具,缩短开发周期。
此外,还有像 PyRex 这样的工具,允许 C 和 Python 混合编程,使编写扩展更加轻而易举,因为它会把所有的代码都转换成 C 语言代码。

  1. Python 的标准实现是使用 C 语言完成的(也就是 CPython),所以要使用 C 和 C++ 编写 Python 扩展。
  2. Python 的 Java 实现被称作 Jython,要使用 Java 编写其扩展。
  3. IronPython,这是针对 .NET 或 Mono 平台的 C# 实现。可以使用 C# 或者 VB.Net 扩展 IronPython。

3.6 易学

Python 关键字少、结构简单、语法清晰。
可能感觉比较新鲜的东西可能就是 Python 的面向对象特点了。

3.7 易读

python没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号。
Python 没有给你多少机会使你能够写出晦涩难懂的代码,而是让其 他人很快就能理解你写的代码,反之亦然。

3.8 易维护

Python 项目的成功很大程度上要归功于其源代码的易于维护。得出这个结论并不难,因为 Python 本身就是易于学习和阅读的。

3.9 健壮性

python允许程序员在错误发生的时候根据出错条件提供处理机制。
一旦程序由于错误崩溃,解释程序就会转出一个“堆栈跟踪”,那里面有可用到的全部信息,包括你程序崩溃的原因以及那段代码(文件名、行数、行数调用等等)出错了。这些错误被称为异常。如果在运行时发生这样的错误,Python 使你能够监控这些错误并进行处理。
这些异常处理可以采取相应的措施,例如解决问题、重定向程序流、执行清除或维护步骤、 正常关闭应用程序、亦或干脆忽略掉。

3.10 高效的快速原型开发工具

与那些封闭僵化的语言不同,Python 有许多面向其他系统的接口,它的功能足够强大和强壮,所以完全可以使用 Python 开发整个系统的原型。
显然, 传统的编译型语言也能实现同样的系统建模,但是 Python 工程方面的简洁性可以在同样的时间内游刃有余的完成相同的工作。
此外,大家已经为 Python 开发了为数众多的扩展库,无论你打算开发什么样的应用程序,都可能找到先行的前辈。你所要做的全部事情,就是来 个“即插即用”!

3.11 内存管理器

C 或者 C++最大的弊病在于内存管理是由开发者负责的。
Python 中,由于内存管理是由 Python 解释器负责的,所以开发人员就可以从内存事务中解放出来,全神贯注于最直接的目标,仅仅致力于开发计划中首要的应用程序。这会使错误更少、程序更健壮、开发周期更短。

3.12 解释器和(字节)变异性

Python 是一种解释型语言,这意味着开发过程中没有了编译这个环节。
由于不是以本地机器码运行,纯粹的解释型语言通常比编译型语言运行的慢。
然而,类似于 Java,Python 实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。这不仅改善了 Python 的性能,还同时使它保持了解释型语言的优点。

Python 源文件通常用.py 扩展名。当源文件被解释器加载或者显式地进行字节码编译的时候会被编译成字节码。由于调用解释器的方式不同,源文件会被编译成带有.pyc 或.pyo 扩展名的文件。

4. 下载和安装python

得到所有 Python 相关软件:去访问它的网站(http://python.org)
Python 的可应用平台非常广泛。可以将其划分成如下的几大类和可用平台:

  • 所有 Unix 衍生系统(Linux,MacOS X,Solaris,FreeBSD 等等)
  • Win32 家族(Windows NT,2000,XP 等等)
  • 早期平台:MacOS 8/9,Windows 3.x,DOS,OS/2,AIX
  • 掌上平台(掌上电脑/移动电话):Nokia Series 60/SymbianOS,Windows CE/PocketPC,Sharp Zaurus/arm-linux,PalmOS
  • 游戏控制台:Sony PS2,PSP,Nintendo GameCube
  • 实时平台:VxWorks,QNX
  • 其他实现版本:Jython,IronPython,stackless
  • 其他
    一些平台有其对应二进制版本, 可以直接安装,另外一些则需要在安装前手工编译。

Unix 衍生系统(Linux,MacOS X,Solaris,FreeBSD 等等)

基于 Unix 的系统可能已经安装了 Python。通过命令行运行 Python,查看它是否在搜索路径中而且运行正常。

Windows/DOS 系统

首先从前文提到的 python.org 网站下载 msi 文件(例如,python-2.5.msi),之后执行该文件安装 Python。
如果打算开发 Win32 程序,例如使用 COM 或 MFC,或需要 Win32 库,强烈建议下载并安装 Python 的 Windows 扩展。
之后就可以通过 DOS 命令行窗口或者 IDLE 和 Pythonwin 中的一个来运行 Python 了,IDLE 是 Python 缺省的 IDE(Integrated Development Environment,集成开发环境),而 Pythonwin 则来自 Windows 扩展模块。

自己动手编译 Python

对绝大多数其它平台 , 下载 .tgz 文件, 解压缩这些文件, 执行以下操作以编译Python:

    1.    ./configure
    2.    make
    3.    make install

关于安装位置

如今,在系统上安装多种版本的 Python 比较常见。要设置好库文件的安装位置。

  1. Unix 中,可执行文件通常会将 Python 安装到/usr/local/bin 子目录下,而库文件则通常安装在/usr/local/lib/python2.x 子目录下,其中的 2.x 是你正在使用的版本号。
  2. MacOS X 系统中,Python 则安装在/sw/bin 以及/或者 /usr/local/bin 子目录下。而库文件则在/sw/lib,/usr/local/lib, 以及/或者 /Library/Frameworks/Python.framework/Versions子 目录下。
  3. Windows 中,默认的安装地址是 C:\Python2x。请避免将其安装在 C:\Program Files 目录下(虽然这是通常安装程序的文件夹)。DOS 是不支持“Program Files” 这样的长文件名的,它通常会被用“Progra~1”这个别名代替。这有可能给程序运行带来一些麻烦。所以,将 Python 安装在 C:\Python 目录下,这样标准库文件就会被安装在 C:\Python\Lib 目录下。

5. 运行python

有三种不同的办法来启动 Python:

  1. 最简单的方式就是交互式的启动解释器,每次输入一行Python 代码来执行。
  2. 另外一种启动 Python 的方法是运行 Python 脚本。这样会调用相关的脚本解释器。
  3. 最后一种办法就是用集成开发环境中的图形用户界面运行 Python。集成开发环境通常整合了其他的工具,例如集成的调试器、文本编辑器,而且支持各种像 CVS 这样的源代码版本控制工具。

5.1 命令行上的交互式解释器

在命令行上启动解释器,你马上就可以开始编写 Python 代码。

Unix 衍生系统(Linux,MacOS X,Solaris,FreeBSD 等等)

Windoes/DOS 环境

5.2 从命令行启动脚本

5.3 集成开发环境

5.4 其它的集成开发环境和执行环境

6. python文档

7. 比较python

8. 其他实现

第二章 python起步

标签:解释器,语言,python,核心,代码,编程,Python,安装
From: https://www.cnblogs.com/Windows-phone/p/18298776

相关文章

  • 【python】函数重构
    函数重构函数重构pycharm函数重构步骤函数重构练习函数重构函数重构是指对现有函数进行修改和优化的过程。重构的目的是改善代码的可读性、可维护性和灵活性,同时保持其功能不变。函数重构通常包括以下步骤:理解函数的功能和目的。了解函数的作用和期望结果,确定重构......
  • 使用Python配合OpenCV,非常简洁的来识别出银行卡号
        Opencv(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉库。OpenCV用C++语言编写,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和MacOS。本篇是使用python配合opencv来做图片识别,以识别银行卡上的卡号为例。   安装......
  • Python-pptx学习随笔
    引言++最近有用到做自动化ppt相关的功能,简单记录一下实现过程的部分操作。++0pptx的结构pptx的存储本质上是一颗树flowchartLRpptx-->slides-->shapes-->组内shapespptx-->幻灯片-->模块形状-->复合形状内部的形状1相关操作1.1创建一个pptx类fr......
  • python 内置高級函數盤點
    1. map(function,iterable,...)map()函数接受一个函数和一个可迭代对象作为参数,将函数应用于可迭代对象的每个元素,并返回一个包含结果的迭代器#将列表中的每个元素加1numbers=[1,2,3,4,5]result=map(lambdax:x+1,numbers)print(list(result))#输出[2,3......
  • 学习了张传波老师的Scrum(敏捷方法论中的核心框架)后的心得体会
    1.Scrum的核心价值与实践在学习Scrum过程中,首先会深刻体会到Scrum所强调的核心价值:快速迭代、持续交付、客户为中心以及团队自组织。这些价值不仅改变了传统的软件开发流程,更推动了团队文化的转变,使团队能够更灵活地应对变化,更快地交付有价值的产品。2.角色转变与团队协作在Scr......
  • 发布用flask框架开发的python后端程序到windows服务器
    flask框架开发的python后端程序开发好了后,怎么发布到生产环境呢?以app.run()的方式在生产环境上启动服务,当有异常特别容易退出,而且性能很弱。生产环境下,python常见的web部署搭配是nginx+gunicorn。但是这种搭配只适合在Linux环境下。gunicorn不支持windows环境。如果要搭......
  • 环境部署之在 Linux 服务器上搭建和部署 Python 环境
    背景说明在企业工作中,自动化测试框架落地肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试。不过Jenkins搭建一般都会部署在公司的服务器上,不会在私人电脑里,而服务器大部分都是Linux操作系统的。如果要在Linux上的Jenkins服......
  • 后劲真大,我愿称之为学习python的“圣经”
    很多小伙伴都在学习Python,但是爱看书的找不到适合自己的,这本书可以完美的解决你的问题,还能帮助到很多需要处理数据,做Excel自动方面的。学习数据分析的好处众多,无论是对于个人职业发展还是企业的运营决策都具有重要意义。以下是学习数据分析的主要好处:提高就业竞争力:在信息化......
  • uniform_filter1d之nearest模式基于JAVA编程实现
    1privatestaticDouble[]uniform_filter1d_double_fast(Double[]input,intsize){2Double[]output=newDouble[input.length];3//https://github.com/scipy/scipy4//‘nearest’(aaaa|abcd|dddd)5bool......
  • 高压恒流泵:精密流体控制的核心设备
    高压恒流泵:精密流体控制的核心设备随着工业自动化的不断发展,流体控制技术在许多领域扮演着至关重要的角色。其中,高压恒流泵作为一种精密流体控制设备,被广泛应用于化工、制药、食品、冶金等多个行业。本文将详细介绍高压恒流泵的工作原理、应用领域以及选型注意事项,帮助企业客户更......