哈罗,各位,又见面了。因为前一阵子自己比较忙,所以第二课来得比较晚,大家有木有饥渴难耐啊?@146-想我就别憋着啊~
那么下面继续我们的Python旅行~
记得上一课里面,我曾经在最后提到了Python的Shell,也就是命令行界面(没看过上一课的童鞋请移步传送门)。不知道各位都安装了木有,下面要进入课程了。
Part One 算法
首先我们来讲讲算法的概念,我尽量抛开书本教条,用最直白的语言去阐述这个问题。所谓算法,就是计算机程序设计的一种方法。简单地说,就是要告诉计算机它要做什么事。计算机可以做很多事情,但是计算机自己并不会思考,所以需要人类用计算机能够懂的语言来告诉它,让它知道它该干嘛。算法这个名词看起来很高深,其实也就是程序设计的另一种说法而已。我们想要让计算机完成一件任务的方法不仅仅只有一种,可以有很多种方法。通过不同的代码实现不同的过程和步骤,最终达到同样一个目的,这就是算法的含义。精通算法的人可以用10行代码完成其他人用100行代码完成的事情,而且效率更高,这就是算法。
Part Two 数字和表达式
我们知道 Python Shell 同样可以被称作“交互式Python”解释器,你可以把它当作一个高级计算器来使用:
>>> 1+12
答案很显然是2。你如果愿意的话,当然也可以替换成其他的数字:
>>> 1234567+76543218888888
上面这些都只是加法,聪明的童鞋们一定想到了其他的方式:
>>> 2121-1212909
>>> 11*22
242
当然还有减法和乘法,下面我们来看看除法:
>>> 1/20
你会发现,怎么是0呢? 一个整数(不包含小数部分的数)除以另外一个整数的时候,计算的结果是小数部分被省略掉了。虽然有时候我们需要这样的功能,但是在这里我们只要进行最普通的除法就好了,那要怎么做呢?我们需要使用实数,即包含小数点的数,而不是整数进行运算。实数在Python中被称作浮点数(Float-point Number):
>>> 1.0/2.00.5
怎么样,得出正确的结果了吧? 这样写也是可以的:
>>> 1.0/20.5
>>> 1/2.0
0.5
也就是说,只要在运算中有一个是浮点数,运算结果亦为浮点数。如果只是希望让程序执行普通的除法运算,那么可以程序前面或者在shell里面执行以下语句:from __future__ import division (注意句中的空格和future是前后各两个下划线),这样就合理多了:
>>> 1/20.5
但在这个时候,可以使用双斜线进行整除操作:
>>> 1//20
除了这些,我还想给各位介绍一个非常有用的运算符“%”,这是取余预算符:
>>> 1%21
>>> 10%2
0
>>> 19%5
4
看出来了么?这个运算符会将余数取出来,如果想设计一个程序,为每10秒钟检查一次端口是否被占用,那么就可以使用%10作为参数,如果结果为0,那么就执行检查操作,就这么简单。这一小节最后一个运算符是什么呢?那就是幂运算符:
>>> 2**38
>>> 4**3
64
看出来了么?相信你一定明白的。
Part Three 长整型数
如果你用Python处理一个非常大的数,你会看到下面的样子:
>>> 100000000000000000100000000000000000L
嗯?末尾多出来了一个L。其实在Python中,普通数和长整型数的写法是一样的,唯一的不同仅仅是末尾多了一个L,在这个例子当中,Python把用户输入的数自动转换为了长整型数。长整型数与普通数是可以相互混用的,比如:
8989879587239L+63178989879593556L
Part Four 变量
变量是什么?如果你数学基本功不错的话应该很快可以回答出这个问题。其实计算机中的变量跟数学中的变量相差不多,比如说,你希望x代表的值为5,那么只需要这样写:
>>> x = 5
这个过程被称为赋值,赋值就是将5绑定到x上面,接下来就可以使用赋值后的x进行计算操作:
>>> x*840
很简单。当然变量可以是多个字符组成,比如:
>>> geeks = 5>>> geeks ** 3
125
没有赋值的变量是无法运行的。
Part Five 获取用户输入
当我们在写程序的时候,并不一定要知道变量的值是多少。当然,程序最后也会知道变量是多少(这句话有点绕,不用太过于在意。),也就是说不赋值的变量也能运行,矛盾吗?或许是这样的,请往下看。
因为我们编写的程序是让其他人来使用的,我们不知道用户会提供什么值,所以我们需要通过用户所提供的值来赋予变量,在这里我们可以使用input函数,当然更多关于函数的东西我在后面的章节中会继续介绍的。
>>> input("Please type an number: ")Please type an number: 1
1
shell 执行了input语句,并将字符串“Please type an number: ”打印出来,此时输入1,按下回车执行,结果就是我输入的1。这个例子似乎不太具有实用性,请看下面的例子:
>>> x=input("x= ")x= 2
>>> y=input("y= ")
y= 3
>>> print x*y
6
这一段语句其实已经可以作为一段完整的程序了,后面输入的值是用户提供的,我们并不需要知道用户会输入什么值,程序会知道的。现在理解我上面的意思了吧?顺便提醒一下,指令中的符号应该在英文状态下输入。
基本表达式这一课内容较多,我们将分为两课来完成。这节课讲的东西,大家一定要好好掌握哈。把代码亲自输入一遍,而不是简单的copy,会有不一样的理解的。
凯文,不断提供优质资源!
该贴已经同步到 kevinyzd的微博
本帖最后由 又木桑 于 2013-2-24 22:14 编辑
写得很好, 学习ing. 谢谢楼主.
@@13!!没有后续了么 微博也木有搜到.. TAT... 我要抱大腿啊...
想复制到TXT然后在手机上慢慢看的。。555有图片就不好看了啊。。
。。怎么找不到后面的了。。
不错啊,简单易懂 。期待
多谢啦,感觉比之前看过的变编程书容易理解的多
大蟒蛇威武
哟湿>~<
好简单嘛www
继续学下去>w<
楼主君要加油哦w
第一次接触编程语言,原来高中数学那一部分就是干这个的,感觉还是挺容易接受的,期待下一课@125#
这个很好,但是我看不懂表示
原来是我设置问题~~~V5~