《(本科)第1章 程序设计和Python语言ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第1章 程序设计和Python语言ppt课件.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:(本科)第1章 程序设计和Python语言ppt课件Chap1 Programming & PythonDepartment of Computer Science and TechnologyDepartment of University Basic Computer TeachingNanjing UniversityNanjing University程序设计概述3Nanjing University程序语言分类 计算机中的程序是指按特定的算法用某种计算机语言描述完成指定任务的处理过程。 程序语言分类4按对机器依赖性、 接近自然语言的程度、 语言的发展过程 机器语言 汇编语
2、言 高级语言 Nanjing University能由计算机直接执行占存储空间小执行速度快机器语言51011000000001101001011000000010111110100依赖于具体计算机难记忆易出错阅读理解困难编程者需了解特定计算机的硬件及指令系统Nanjing University汇编语言6 MOV AL,13D SUB AL,5D HLT汇编语言与机器语言的异同?汇编语言与机器语言的异同?Nanjing University高级语言7#include int main(void) printf(“%dn”,13-5); return 0;Nanjing University高级语
3、言8不支持对硬件的直接操作代码需要翻译指令序列后才能执行易学易用代码易理解易调试、修改和移植,并与机器无关Nanjing University高级语言 高级语言的翻译方式 解释方式(Interpreter 解释程序) 编译方式(Compiler 编译程序或称编译器) 9Nanjing University程序设计语言JavaCPythonC+PerlC# 就程序本质而言 刻画计算(数值计算与非数值计算,与处理同义)过程的处理对象(数据)与处理规则(算法)。 瑞士计算机科学家Niklaus Wirth认为: 程序算法数据结构10Nanjing University程序算法数据结构 算法是解决问题
4、的步骤和方法,是指令的有限序列 数据结构则是数据的组织形式,涉及操作对象以及它们之间的关系和操作11Nanjing University程序算法数据结构12S1:sum 0S2:i 1S3:如果i 100执行sum sum + i,如果i 100转S5S4:i i + 1,转S3S5:输出sum计算1+2+100的和,算法和数据结构设计:Nanjing University程序数据结构+算法 算法是程序的,在程序设计中有核心地位 实际应用中用户首先关心的是自己的数据能够被处理,其次才关心如何处理,用什么工具处理数据,所以从应用角度出发,程序设计的重心已转移到数据上了13Nanjing Univ
5、ersity程序设计的本质1 结构化程序设计 自顶向下(top-down),逐步细化(stepwise refinement),由抽象到具体的功能分解过程,使用三种控制结构即顺序、选择和循环控制构造程序14Nanjing University程序设计的本质2 面向对象程序设计面向对象程序设计 是目前计算机开发中使用的主流方法,它是一种对现是目前计算机开发中使用的主流方法,它是一种对现实世界理解并抽象的方法,将对象作为程序的基本单实世界理解并抽象的方法,将对象作为程序的基本单元,并将程序和数据封装在内,以提高软件的重用性、元,并将程序和数据封装在内,以提高软件的重用性、灵活性和扩展性灵活性和扩展
6、性。15Nanjing University程序设计的本质216类 狗狗 过程 跑步; 过程 打滚; 类 吉娃娃 继承自 狗狗 过程 卖萌; 过程 咬人; 一只叫旺财的吉娃娃Nanjing UniversityPYTHON简介17Nanjing UniversityPython指数PYPL编程语言流行指数(PyPL )Feb 201918Nanjing UniversityPython指数TIOBE19Feb 2019Nanjing UniversityPython指数IEEE Spectrum20Nanjing UniversityPython应用实例21Nanjing University
7、1.2.1 PYTHON的历史和特性22Nanjing University 第1个Python编译器/解释器于1991年诞生 Python名称来自Guido挚爱的电视剧Monty Pythons Flying Circus Python介于C和Shell之间、功能全面、易学易用、可扩展23Nanjing University优雅明确简单Python在其表达方式和语法形式等多个方面均体现其优雅拥有传统编译型程序语言所有强大通用的功能拥有简单脚本语言和解释型程序语言的易用性Python的哲学24Nanjing UniversityPython 的历史 胶水语言(Glue Language) 很容
8、易和其他著名的程序语言连接(C/C+),集成封装脚本语言(Script Language) 高级脚本语言,比脚本语言只能处理简单任务强大面向对象语言(Object-Oriented Language) 完全支持继承、重载、派生、多继承 面向对象语言Object-Oriented Language25 胶水语言Glue Language 脚本语言Script LanguageNanjing University科学计算人工智能Python的库具有强大吸引力26Python是一门通用程序语言,有众多程序库支持,可用于基础性、前瞻性的科研工作Python提供丰富的库,解决人工智能领域中大量数据处理和
9、科学计算Nanjing University数据处理Python提供各种库,具有极其便捷强大的数据处理和统计功能文本处理Python提供的re模块能支持正则表达式Python的库具有强大吸引力27Nanjing University1.2.2 PYTHON的版本28Nanjing UniversityPython的2个版本29Python 2.xPython 3.x本书以Python3.x为主互不兼容Nanjing UniversityPython官方网站30Nanjing UniversityPython 格言Beautiful is better than ugly.Explicit is
10、 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 arent special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitl
11、y 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 youre Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is ha
12、rd to explain, its a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea - lets do more of those!by Tim PetersThe Zen of Python禅。31 import thisNanjing UniversityPython超级程序员Alex Martelli2002 Activators Choice Award和2006 Frank Willison award为G
13、oogle开发商业智能软件Miguel Grinberg为Harmonic做视频软件。C+是主要语言,但用Python写的自动化单元测试框架更很有趣Daniel Greenfeld之前在美国宇航局做开发,目前是Cartwheel Web的负责人32Nanjing UniversityPYTHON开发环境和运行方式33Nanjing University经典 Hello World34myString = Hello, World!print(myString)Nanjing University1.3.1 PYTHON开发环境35Nanjing UniversityPython开发环境Mac
14、OS & Linux下$ python #启动Python2.X$ python3 #启动Python3.X如果没有安装Python解释器,出现错误信息如下:Python: command not found退出解释器的方法exit()、quit()、Ctrl+D36Nanjing UniversityPython 集成开发环境(IDE)37Python编辑器编辑器IDENanjing UniversityPython 编辑器自动补全和智能提示等编辑和调试功能小巧,定制方便,但功能相对简单38Sublime Text1Visual Studio Code2Nanjing UniversityP
15、ython 集成开发环境(IDE)39包含编辑器,一般还具有项目管理和版本控制等功能通常还预装了完成某些任务的扩展库、文档和教程,给程序开发带来很大便利。PyCharm1Anaconda2Nanjing UniversityPython IDE Python内置IDE IDLE40Nanjing UniversityPython IDE 其他IDE PyCharm Anaconda41PyCharmNanjing UniversityPython IDE42Anaconda代码编辑窗口变量/文件观察窗口控制台窗口Nanjing University第三方库安装 PyPI(the Python
16、Package Index) (https:/pypi.org/)43Nanjing University第三方库安装44 如在Windows中安装基于opencv的安卓自动测试库“atx” 下载 get-pip.py(目前Python IDE中一般都预装了pip,无需额外安装。如果已经安装pip,直接运行第步) 在命令提示符下运行执行如下命令: python get-pip.py 使用pip安装atx库: pip install atxPython包管理工具pipNanjing University第三方库安装在Linux和Mac OS系统下也可以使用pip进行第三方库安装,或用curl命令
17、下载安装45Nanjing University1.3.2 PYTHON运行方式46Nanjing UniversityPython的运行方式(一)Shell方式 Shell是交互式的解释器 输入一行命令,解释器就解释运行出相应结果47Nanjing UniversityPython的运行方式(二) 在Python的IDE环境中,创建一个以py为扩展名的文件 用Python解释器在Shell中运行出结果文件执行方式48Nanjing University经典 Hello World myString = Hello, World! print(myString)Hello, World! myStringHello, World!Source# Filename: helloworld.pymyString = Hello, World!print(myString)File49Nanjing UniversityShell方式和文件执行方式 都是解释运行方式 如果整个代码段较短,则优先考虑选择用Shell交互方式 如果代码段较长,则建议使用文件执行方式50Nanjing University小结51Nanjing University小结 程序设计语言 程序设计 Python简介 Python开发环境 Python运行方式52
限制150内