资源简介 (共47张PPT)第1章 程序设计和Python语言Chap1 Programming & Python程序设计程序设计概述1.1程序设计程序语言分类计算机中的程序是指按特定的算法用某种计算机语言描述完成指定任务的处理过程。程序语言分类按对机器依赖性、接近自然语言的程度、语言的发展过程机器语言汇编语言高级语言程序设计CPU能理解且能直接执行的指令集合用机器语言编写的程序形式:能由计算机直接执行占存储空间小执行速度快机器语言1011000000001101001011000000010111110100依赖于具体计算机难记忆易出错阅读理解困难编程者需了解特定计算机的硬件及指令系统程序设计汇编语言汇编语言是一种符号化的机器语言,用助记符号代替指令操作码、操作数。用汇编语言编写的程序形式:MOVAL,13DSUB AL,5DHLT汇编语言与机器语言的异同?程序设计高级语言高级语言接近于自然语言和数学语言,在一定程度上与具体计算机无关的符号化语言。用高级语言编写的程序形式(以C语言为例):#include <stdio.h>intmain(void){printf(“%d\n”,13-5);return 0;}程序设计高级语言不支持对硬件的直接操作代码需要翻译指令序列后才能执行易学易用代码易理解易调试、修改和移植,并与机器无关程序设计高级语言高级语言的翻译方式解释方式(Interpreter解释程序)编译方式(Compiler编译程序或称编译器)程序设计程序设计语言就程序本质而言刻画计算(数值计算与非数值计算,与处理同义)过程的处理对象(数据)与处理规则(算法)。瑞士计算机科学家NiklausWirth认为:程序=算法+数据结构程序设计程序=算法+数据结构算法是解决问题的步骤和方法,是指令的有限序列数据结构则是数据的组织形式,涉及操作对象以及它们之间的关系和操作程序设计程序=算法+数据结构S1:sum 0S2:i 1S3:如果i 100执行sum sum +i,如果i> 100转S5S4:i i+ 1,转S3S5:输出sum计算1+2+…+100的和,算法和数据结构设计:程序设计程序=数据结构+算法算法是程序的灵魂,在程序设计中有核心地位实际应用中用户首先关心的是自己的数据能够被处理,其次才关心如何处理,用什么工具处理数据,所以从应用角度出发,程序设计的重心已转移到数据上了程序设计程序设计的本质1结构化程序设计自顶向下(top-down),逐步细化(stepwise refinement),由抽象到具体的功能分解过程,使用三种控制结构即顺序、选择和循环控制构造程序程序设计程序设计的本质2面向对象程序设计是目前计算机开发中使用的主流方法,它是一种对现实世界理解并抽象的方法,将对象作为程序的基本单元,并将程序和数据封装在内,以提高软件的重用性、灵活性和扩展性。程序设计程序设计的本质2类 狗狗{过程 跑步;过程 打滚;……}类 吉娃娃 继承自 狗狗{过程 卖萌;过程 咬人;……}一只叫旺财的吉娃娃程序设计Python简介1.2程序设计Python指数——PYPL编程语言流行指数(PyPL)程序设计Python指数——TIOBE程序设计Python指数——IEEESpectrum程序设计Python应用实例程序设计1.2.1 Python的历史和特性程序设计Guido vanRossum第1个Python编译器/解释器于1991年诞生Python名称来自Guido挚爱的电视剧Monty Python's Flying CircusPython介于C和Shell之间、功能全面、易学易用、可扩展的诞生程序设计优雅明确简单Python在其表达方式和语法形式等多个方面均体现其优雅拥有传统编译型程序语言所有强大通用的功能拥有简单脚本语言和解释型程序语言的易用性Python的哲学程序设计Python的历史胶水语言(Glue Language)很容易和其他著名的程序语言连接(C/C++),集成封装脚本语言(Script Language)高级脚本语言,比脚本语言只能处理简单任务强大面向对象语言(Object-OrientedLanguage)完全支持继承、重载、派生、多继承面向对象语言Object-Oriented Language胶水语言Glue Language脚本语言Script Language程序设计大数据Python提供各种库,具有极其便捷强大的数据处理和统计功能文本处理python提供的re模块能支持正则表达式Python的库——具有强大吸引力程序设计Web开发Python定义了WSGI标准应用接口来协调http服务器与基于Python的Web程序之间的沟通GUI开发用wxPython或者PyQt来开发跨平台的桌面软件Python的库——具有强大吸引力程序设计Python的库——具有强大吸引力操作系统大多数Linux发布版以及NetBSD、OpenBSD和Mac OS X都集成了Python,Python标准库包含了多个调用作业系统功能的库多媒体用于将计算机游戏中图形渲染模块封装为Python扩展类库程序设计1.2.2 Python的版本程序设计Python的2个版本Python 2.xPython 3.x本书以Python3.x为主互不兼容程序设计Python官方网站程序设计Python格言Beautiful is better than ugly.Explicit is better than implicit.Simple is better than plex 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!by Tim PetersThe Zen of Python禅。>>> import this程序设计Python超级程序员AlexMartelli2002 Activators’Choice Award和2006 FrankWillisonaward为Google开发商业智能软件MiguelGrinberg为Harmonic做视频软件。C++是主要语言,但用Python写的自动化单元测试框架更很有趣DanielGreenfeld之前在美国宇航局做开发,目前是Cartwheel Web的负责人程序设计Python开发环境和运行方式1.3程序设计经典Hello WorldmyString= 'Hello, World!'print(myString)程序设计1.3.1 Python开发环境程序设计Python集成开发环境(IDE)Python IDEMac OS & Linux下$ python$ python3Python内置IDEIDLE(https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe)其他IDEIPython程序设计包的安装Python的特点是有极其丰富的软件包(第三方库)PyPI(the Python Package Index)是Python官方提供的软件包索引,它可以给现有的超过十万个Python软件包提供索引(https://pypi.python.org/pypi)PyPI提供软件包索引程序设计包的安装用pip命令安装包(大多数PythonIDE中已集成,无需额外安装)①下载get-pip.py(https://pip.pypa.io/en/latest/installing/)②在操作系统终端依次执行如下命令>pythonget-pip.py>pip installatx安装包程序设计Python开发平台Anaconda集成开发平台下载安装包官网:https://www.continuum.io/downloads或国内豆瓣等镜像网站安装(Mac OS and Linux,版本号为示意)command line installer inMacOS:bash Anaconda3-4.3.0-MacOSX-x86_64.shgraphicalinstaller inMacOS:downloadthe graphicalinstaller .pkgand follow theinstrutionscommand lineinstaller in Linux:bash Anaconda3-4.3.0-Linux-x86_64.sh程序设计Python开发平台程序设计1.3.2 Python运行方式程序设计Python的运行方式(一)Shell方式Shell是交互式的解释器输入一行命令,解释器就解释运行出相应结果程序设计Python的运行方式(二)在Python的IDE环境中,创建一个以py为扩展名的文件用Python解释器在Shell中运行出结果文件执行方式程序设计经典Hello World>>> myString ='Hello, World!'>>>print(myString)Hello,World!>>> myString'Hello,World!'Source# Filename: helloworld.pymyString ='Hello, World!'print(myString)File程序设计Shell方式和文件执行方式都是解释运行方式如果整个代码段较短,则优先考虑选择用Shell交互方式如果代码段较长,则建议使用文件执行方式程序设计小结1.4程序设计小结程序设计语言程序设计Python简介Python开发环境Python运行方式程序设计 展开更多...... 收起↑ 资源预览