分享

Python小课堂开课了!-第一课

 废铁二代 2016-12-10


哈哈小的Python课堂开课了,哈哈~


Python到底是一种怎样的存在呢?官方的话就不说了,哈哈小搜索了一下大脑,有一下这么些内容想跟大家分享。


一门以简洁为美的编程语言。


Python之诞生以来,饱受赞誉。


Python论坛的小伙伴们为推广Python始终活跃在第一线.


logo为两条大蟒蛇,据说Python是这样发明的,当是后来好像就被推翻了。后来考证,Python是从一种叫Monty Python 的滑稽喜剧中借鉴而来的。看来是与幽默有关,这也就使得哈哈小不得不尽最大的努力以幽默的方式给大家带来Python的讲解了。


根据这几年受欢迎编程语言TIOBE排行榜,Python一直活跃前线,屡创新高,目前已排名前五。看图:



注:图片来源TIOBE网


交互式的界面让你轻松编写好玩实用的程序。


可以说,如果你没有任何的编程经验,Python绝对是带你走向编程世界的不二选择。


Python已成为美国高校最受欢迎的入门编程语言,看图。



注:来源ACM, 发表于2014-07-14,作者:Phillip Guo


在数据处理,网页开发,爬虫技术等方面有显著优势。


方正就是狠狠狠高级,高级到以把它叫做脚本语言。


哎呀,不行,我还得找一些帮手让大家来感受一下python的魅力:


c++难以学习,生就如此;python易学,生就如此 ---某某某


现在请看一场前所未有的表演---《飞行马戏团》


说了这么多好话,真的有那么完美吗?


答案 of course not


高级,抽象,带来的必定是低层实现的复杂度,所以运行起来,效率可是不及c,c++这样的编译型语言哦。


当然种种这些,也没阻止哈哈小走上Python学习之路。


哈哈小七力八啦说了这么多,都有点烦了,好吧,下面我们正式来学习Python吧。


第一步:安装开发工具


首先,我们需要下载一个Python开发工具,下载非常简单。


可以进入官网对应电脑系统直接下载,https://www.


也可以直接搜索对应下载(推荐这种方法,外网太慢):




下载完成之后,接受默认设置,下一步直到完成。


第二步:开始编写



1.编写第一个程序以及附加一些其他的东西。


安装完成之后,大家可以会看到一个叫IDLE的东西,打开之后,我们可以看到如下图样的界面。




可以看到这个叫做Python 3.5.1 Shell的窗口,上图显示的内容不同的系统和版本会有所不同,像哈哈小使用的就是3.5.1版本的。


这个IDLE叫做交互式解释器(有点类似我们经常使用的命令提示符),我们可以在这输入符合Python规范的一行代码(或者叫指令吧),然后回车,如果没有什么错误,这个解释器就会对我们所写代码进行一个解释,最后将结果打印出来。看下图,是不是有一种控制了计算机的赶脚呢? 




怎么样,一个简单的“helloworld”程序就完成了,是不是很简单呢?


注:在Python,分号可有可无哦,无关紧要。


再比如,我们可以让它做一些简单的数学运算,充当一个计算机的功能,哈哈~:




提一下:关于更多Python的介绍,可以按F1,来到Python语言的说明文档,里面有对Python基础知识点全面的介绍,爱自学的同学可以参考自学哦:




2.稍微提一下算法


算法算法,顾名思义,就是针对某个具体问题,给出的一套流程(procedure)或方法。


在编写程序时,可以用伪代码的方式使得算法明朗可见。


方便以后课堂的展开,哈哈小觉得有必要在用两个例子对算法做进一步的讲解。


1)有一同学待在寝室,饿意来袭,于是乎,于他,就有两种解决饥饿的方法。




说明:以上两种方法都切实可行,且高效,无好坏之分。选择哪种,依个人情况而定,如果这位同学是比较宅的,可能就不会选择第一种了。如果对于解决饥饿比较急迫,可能第一种就更合了。


2)如果我们要判断一个数是否为素数(只能被1和本身整除的自然数为素数),可以根据以下步骤解决问题,哈哈小列举了三种。




说明:以上三种方法虽都能解决问题。但哈哈小表示,到时如果遇到这样的问题,一定选择第三种,哈哈~


面对一个问题,我们思考出一套算法。算法有好坏之分,我们尽可能做到算法最优化。


在最优化的前提下,没有完美的算法,需要我们做一个权衡折衷(tradeoff),根据具体需求具体选择。


第一次接触这个概念的同学,可能有点不胜理解。


但是没关系,哈哈小在这里只是稍提一下,后面会有具体的代码加深大家对算法的理解。


3.谈谈Python基本知识点


1)数字与表达式


关于Python 中的数字与表达式,前面哈哈小展示计算器的时候,大家可能已经看到了一些。除此,还有以下要点:




像上图出现的//,%,**等奇怪符号,通过上图的展示,想必大家已经猜出了其意义。


//不同与/,表示整除。%表示取余,**表示平方。

这边哈哈小要留一个小问题,希望大家学以致用,稍加思考哦~


对于一个三位数346,如果我要分别得到其个,十,百位数,应该怎么做呢?


关于数字和表达式,哈哈小本应就此打住。但是一不小心,手贱,哈哈小在交互式解释器中敲了以下两行代码。




既然出来了,哈哈小小讲一下吧。


0x表示十六进制(hexadecimal),0o表示八进制(otcal),输出的结果为十进制,怎么转换的呢?以十六进制为例,请看下图:




照图解释:我们都知道,计算机中所有的数据最终都是以0与1的形式存储的, 一个字节(byte)带有八位(bit), 每一位用0或1表示。所以,一个字节能表示的十进制数的范围是0(全为0)至255(全为1)共256种表示。


十六进制去表示数字的一个好处就是,两位数表示一个字节,每一位数能表示的范围刚好是四位(上图也可显而看出)


关于2,10,8,16之间的转换,哈哈小可以告诉大家一个小技巧,大家利用系统自带计算器进行轻松快速转换(但前提是,原理要弄明白哦)。


2)变量与语句


下面要讲到的概念是变量(variable),如果说你曾为像c语言中的变量声明,变量类型转换等等这些内容而烦恼过。


那么哈哈小要告诉你,别担心,python中的变量很好理解。用一句话就可以概括:你给变量赋什么值(assignment),它就成为了什么样的类型,相当于把变量绑定到值上面。请看下面的代码:




怎么样,还是很好理解的吧?


这里需要大家注意的是:变量可以包含字母,数字,下划线,但是不能以数字开头哦。


为了更好地讲解语句,我们需找“表达式”这样一位帮手。以上面的代码为例,像1.3+4.4,0xAF等为语句,他们更像是代表某种事,而像x=1.2,print(x)等为表达式,他们更像是在做某件事。


3)input函数


关于函数,哈哈小只在这提一下input函数,更多后续讲解。


input函数,这个就比较好玩了。大家可以在提示行上输入help(input)查看有关input函数的具体介绍。




哈哈小自娱自乐了一下,哈哈~


怎么样,是不是感觉还蛮酷的?


4.放在最后说


对于上面所展示的例子,哈哈小表示很麻烦,每输入一次编写代码一次。所以 ,哈哈小就不得不寻找一种新的办法。


前面给大家展示的代码都是在解释器里解释执行。如果我要写一个Python程序,想像其他语言那样,首先在文本编辑框里编辑,编辑完成之后保存文件再编译(或解释)执行。


需要怎么做呢?


很简单,只需快捷control+N(Mac:command+N, 或者菜单栏File->New File即可。


哈哈小于是乎,将上面的程序变成如下的样子:




快捷F5或者菜单栏Run->Run Module, 执行,结果如下:




*:不知道大家有没有注意到,在Python程序源码中,没有发现大括号。其实,哈哈小在这要告诉大家的是,Python是一门非常讲究代码结构性的语言。在Python中,缩进(indent)就发挥了大括号的作用。所以,以后不管学习哪门语言,一定要养成格式规范化的好习惯哦。


结束语:我们不想给你带来多少多少的知识,我们只想尽绵薄之力给你带来可能的智慧的启迪。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多