1、Python的介绍和初步应用,课程目标,了解编程语言 Python的介绍 简介和特点 初学者的角度 Python的初步应用 运行环境 简单的指令 应用,编程语言,编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。,编程语言,脚本语言,汇编语言,机器语言,高级语言,Python的简介,Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。 P
2、ython 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C+、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。 现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。,特点,Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它
3、具有比其他语言更有特色语法结构。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。ps 脚本语言与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些 脚本语言不需要编译,可以直接用,由解
4、释器来负责解释。 脚本语言一般都是以文本形式存在,类似于一种命令.,初学者的角度,入行编程新手:大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行; Linux系统运维人员:Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开发运维工作是首选,Python运维工资的薪资普遍比Linux运维人员的工资高。 做数据分析或者人工智能:不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。 在职程序员转Python开发:平
5、常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服 其他:一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。 现在学会Python之后,可以编写一些查询收录,排名,自动生成网络地图的程序,解决棘手的SEO(搜索引擎)问题,为什么以python作为初学 语言,1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。 2.易于阅读:Python代码定义的更清晰。 3.易于维护:Py
6、thon的成功在于它的源代码是相当容易维护的。 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。( ps 库,也就是里面定义了很多的函数、字段等等) 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C+完成那部分程序,然后从你的Python程序中调用。 8.数据库:Python提供所
7、有主要的商业数据库的接口。 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。 10.可嵌入: 你可以将Python嵌入到C/C+程序,让你的程序的用户获得“脚本化“的能力。,各种语言简单程序的运行,Python,JAVE,1.新建一个记事本,写入以下文字,后缀名改为.jave,2.运行cmd,输入刚刚的文件的储存路径,再输入刚 刚的文件名,按“inter”运行。,C语言,1,2,3,5,4,6,Python的应用环境搭建,1.去官网https:/www.python.org/下载安装包,2.运行IDLE (Python GUI).exe,3.安装文本编辑器(ps 文本编辑器
8、能运行所有的程序,无需终端),安装Geany,配置Geany,ps . 如果安装失败或觉得麻烦 可以登录 http:/ Guess what I think? 5 COM: Your answer is too small. 12 COM: Your answer is too large. 9 COM: Your answer is too small. 10 COM: BINGO!,首先,电脑会在设置一个数字,然后让你猜。 然后电脑会很好心的告诉你数字大还是小, 直到你猜中为止。,1.1 print,print,中文意思是打印,在python里它不是往纸上打印,而是打印在命令行,或者叫终端
9、、控制台里面。print是python里很基本很常见的一个操作,它的操作对象是一个字符串 基本格式是: print 你要打印的东西或者 print(你要打印的东西)这里一定要英文字符的括号,所有程序中出现的符号 都必须是英文字符(ps. .这里我们不用文字编辑器,采用自带的IDLE来演示) 例如:,1.2.IDE,IDE 的全称是集成开发环境,与非集成开发环境相对应。IDE 与其他工具的关键区别在于集成,程序员肯定是需要工具的, IDE 把各种工具集成在一起。而非 IDE 的各种工具需要你自己搭配。这就好像说,你是买一个成品工具箱,里面已经有一套起子锤子,还是自己选购自己最满意的起子,最满意的
10、锤子,自己组成一个工具箱。从某种意义上说,你创造了自己的工具箱。这里我们使用之前配置好的文字编辑器Geany,1.3.输入,前print(打印)了那么多,都是程序在向屏幕“输出”。那有来得有往,有借得有还,我们得有向程序“输入”信息的办法,才能和程序对话,进行所谓的“人机交互”,python有一个接收命令行下输入的方法: input() 接下来我们输入一个代码,执行,最后我们就能和电脑说话了,虽然他不能理解,图1,图2,然后我们向其中输入一个 回答,enter,就会出现图2的效果,ps会看到程序的回答。注意!引号!又是引号!和print一样,如果你输的是一串文字,要用引号或者“引起来,如果是数
11、字则不用。如不规范,就会出现图5的情况,图5,1.4.变量,现在需要让程序理解我们输入的东西。那首先,就需要有东西把我们输入的内容记录下来,好为接下来的操作做准备。Python之神说,要有变量!于是就有了变量。变量的性质类似于PLC中的寄存器“取之不尽,后入为主。接下来我们写一个变量,如:图1。然后说一下另外一个概念,叫做“数据类型”。,图1,数据类型,字符串 - 表示一串字符,需要用或“引起来 name = dog,整数myVar = 123,浮点数 - 就是小数price = 5.99,bool(布尔) - 这个比较特殊,是用来表示逻辑“是”“非”的一种类型,它只有两个值,True和Fal
12、se。(ps 注意这里没有引号,有了引号就变成字符串了)visible = True,ps.因为时长问题,剩下的以后再讲,抱歉,应用,1. Python做爬虫采集数据。 2.Python做游戏。Pygame还是不错的,但只适合做小游戏。用Pygame写个植物大战僵尸还是可以的。推荐教程 用Python和Pygame写游戏。Python在游戏服务器方面也有应用。EVE这种游戏都大量用Python。3.Python作为黑客第一语言,在黑客领域的应用就不多说了, Python 在渗透测试、电子取证、网络流量分析、无线安全、网站中信息的自动抓取、 病毒免杀等领域内所发挥的巨大作用。 4.Python做
13、网站,有几个web框架 WebFrameworks。 用得最多的是Django。5.通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,6.实现微信机器人。定时向好友推送消息,并用图灵机器人回复指定好友的消息。 wxBot是封装Web微信API实现的,wxBot可以登录你的Web微信并处理所有的微信消息,还可以主动向好友发送消息。,Python的彩蛋,1.经典的 Python 之禅 运行此命令将显示由 Tim Peters 编写的“Zen Of Python(Python 之禅)“。据传这是 Python 中的八荣八耻,每个有追求的 Python 程序员都应该谨记于心。,优美胜于丑陋。 显式胜于隐式。 简单胜于复杂。 复杂胜于难懂。 扁平胜于嵌套。 分散胜于密集。 可读性应当被重视。 尽管实用性会打败纯粹性,特例也不能凌驾于规则之上。 除非明确地使其沉默,错误永远不应该默默地溜走。 面对不明确的定义,拒绝猜测的诱惑。 用一种方法,最好只有一种方法来做一件事。 虽然一开始这种方法并不是显而易见的,但谁叫你不是 Python 之父呢。 做比不做好,但立马去做有时还不如不做。 如果实现很难说明,那它是个坏想法。 如果实现容易解释,那它有可能是个好想法。 命名空间是个绝妙的想法,让我们多多地使用它们吧!,THANKS,