Python入门之你必须了解的基础知识

番茄炒蛋 发布于 2011/05/20 22:02
阅读 9K+
收藏 21

一:python的安装与一生中的第一个程序

要写python程序必须要安装python啊!我以为是直接写呢,晕。我还是先去看看资料为什么要先安装python。通过查询我知道了,原来计算机程序分几种,1种是编译型的,1种是解释型的。编译型的像C C++,解释型的像python perl ruby.哦!不过我还是不太明白,只是有点点概念了!不管了!反正大概知道了,编译型的需要先写好源代码然后编译链接才能运行,解释型的就相当于一个计算机的翻译,可以一条一条的执行。

我就先安装python的这个翻译了!谷歌搜索到了python的官方网站,晕!有2个派系的安装文件,不管了!2.7的应该比3.2的要简单的,就安装2.7的吧(教材上也安装的2点几的)。因为以前安装过游戏,嘿嘿,我知道如何安装的。不一会儿,安装好了。然后我打开了标准python解释环境IDLE.我按照书上打下1行代码:


 
  1. print "Hello, world!" 

当我再按下回车,居然出现了一行:

Hello, world!

我懂一点点英语,知道这个print是打印的意思,哈哈!这个好,这么快就写出了1行代码。哈哈!

嘿嘿,计算机还是很聪明的啊!反应也很快!我胡乱输入点看它是什么反应啊!晕!不行,输出了几行怪模怪样的东西,先不管了,还是先严格按照书上说的写啊!

书上说写python代码可以选择很多种IDE(集成开发环境),哦原来这个IDE是多了很多帮助你写代码的工具。有什么代码自动完成,高亮显示什么的,唉!先不忙了!就像用标准的IDLE吧。

二:算法的意义

哦!算法!我得仔细瞧瞧这个是个什么东西啊!哦!算法原来就像你平时每天生活所以安排的事情的详细描述啊。比如早上起来是先刷牙啊还是先洗脸啊!或者是拖地啊!需要每天拖一次啊。哦!大概明白点了!

三:好奇心与一个强大IDE的安装

刚才看到书中介绍了那么多的IDE,我想我还是去寻找个,这样感觉自己确实是很努力的在探索知识。我看到那么多的IDE介绍真不知道该选择哪个,于是我到网上搜索了一番,决定使用不少人推荐的Eclipse。不过我在搜索的过程中看到了一句话,程序员分3种,1种用emacs,1种用vim,1种用其他。晕了。我进一步搜索,emacs是神的编辑器,VIM是编辑器之神,我郁闷,那不是用其他类型的都和神没有关系,我仔细掂量了下自己,刚开始写了第一行代码,和神的距离是遥不可及的,那就先用eclipse,关于神的事情以后我再弄。我找了篇文章介绍eclipse python环境的搭建。花了10分钟搞定了,打开用了下,感觉确实不错啊。你打个pr就会自动提示print每写完一行代码,按下F9就执行了,嗯,不错。

三:数字和表达式

哦!python能进行一些类始于计算机的功能啊!我试试,我在eclipse中输入


 
  1. print 2 + 2 

按F9输出了4,嘿嘿,果然不耐,可以进行数字的加法呢。我再试试除法


 
  1. print 1 / 2 

晕,为什么输出0.哦!原来python做整数除法的时候小数部分会被截除。是这样子啊,那有什么办法让它保留小说呢,办法就是用实数,而且参与除法的两个数中有以一个数为浮点数,就可以了。我试试


 
  1. >>>1.0 / 2.0 
  2. 0.5>>>1 / 2.00.5 
  3. >>>1.0 / 2 
  4. 0.5>>>1 / 2.0.5 

哈哈不错!而且,表示实数,在整数后只跟1个点也可以的,哈哈!但是这样用有时候觉得有点繁琐,如果希望python只执行普通的除法该怎么办啊!书上说有办法,就是在代码前增加一行代码:


 
  1. from __future__ import division 
  2. print 1 / 2  
  3. print 1 // 2 

这样整数除法就不会做整除了,但是如果还是想整除就可以用两个//。仔细想想,除了(加,减,乘,除)应该还可以取余,乘方啊,我试试:


 
  1. print 1 % 2 
  2. print 10 / 3 
  3. print 10 % 3 
  4. print 9 % 3 
  5. print 2.34 % 0.5 
  6. ________________________________ 
  7. 1 
  8. 3 
  9. 1 
  10. 0 
  11. 0.34 

哈哈不错!完全没有问题,不过取余运算在哪些地方有用的啊。不错,比如你要每10分钟拖地1次,就可以拿检查时间10%的结果是否为0做判断即可,哈哈!仔细想象还真是这样啊,原来取余可以这样应用的。

晕!刚才没写完就点发布了!现在接着学习,长整型!长整型也就是很长很长的整数类型吧。我在交互环境试试,主要是我现在还写不出很长的代码,用eclipse暂时太浪费了(唉!离神的距离更远了!),我试试看,很长很长的整数,看看python如何回应!


 
  1. >>> 999999999999999999999999999999999999999 
  2. 999999999999999999999999999999999999999L 

哦!回应是回应对了,可是为什么后面有个L啊!哦原来啊,普通的整数只能在一个范围内的,(2147483647-2147483648).哇!刚才我写的数字超过了普通整数耶!所以后面有个L啊。哦,幸好是大写L啊,要是小写的话和1很像啊,我得记住,这个L以后一定要大写。

十六进制和八进制 什么是进制!我查询了有关资料!知道了,原来十六进制就是到了16就进一,八进制就是到了8就进一。哦,十进制就是生活中常用的,到了10就进1位啦!唉!为什么人要用十进制啊,要是用十六,八的话,就会明白得更快啊!可惜啊,人只有十个手指头!嘿嘿!

变量 哦!变量应该是这样子的,就相当于1个箱子,然后里面可以放东西!变量得有个名字,一定要好听而且好认啊,书上有变量取名字很重要哦!而且变量可以包括字母,数字和下划线开头,但是不能用数字开头。哦,记住这点。

语句 哦!到目前啊!我一直学的东西叫表达式,也就像食谱中的菜。然后呢,我现在要学的是语句,也就是如何去做这些菜,嘿嘿好玩,我现在要开始做菜了!唉!不对啊,我刚才好像已经做过菜了耶!我回忆1下:

其中的print就是如何做菜的指令语句,2*2就是菜。然后m=2也是把菜2放到m的箱子里。没错,之前已经做过“菜”了。嘿嘿。

获取用户输入. 对!我想起来了。一般的程序都需要让用户输入一些“菜”,然后程序员去安排怎么去做“菜”呢。刚才我写的全都是相当于程序写好的菜啊。获取用户的输入的话,需要用1个函数input,晕死!什么是函数,我得去搜索下相关知识!通过搜索我知道了函数其实就是一段重复利用的代码块!哦,原来是这样子的,就相当于一把刀,随时可以用它来“切菜”。想切就切。但是input这个函数到底在哪里啊,python怎么认识的,我郁闷,我不知道,那就先不管了,我就想象python已经知道了。我现在在交互式下试试这个函数


 
  1. >>>input("the meaning of life:"
  2. the meaning of life:25 
  3. 25 

哈哈!真的输入输出了!但是仔细一想,这样做没什么用啊。只是回显出来给我看了下用户输入的值。晕死!不行,实际这样做没什么用处!我突然想起了“箱子”,我必须把它放在1个“箱子”里。这样我才可以很好的利用它啊。我试试:


 
  1. >>>x = input("x:"
  2. x: 23 
  3. >>>y = input("y:"
  4. y: 32 
  5. >>>print x * y 
  6. 736 

哈哈!不错!这样做就好多啦!我把“菜”放入了“箱子”,而且我还计算输入了2个数的乘积。

if.if语句。哦!这个应该是如果的意思,那也就是说,如果怎么样了,才怎么样!嗯!这个好,以前我写的几行代码,都是一条一条的执行的!现在有了这个东西就可以如果怎么样了就怎么样了啊,哈哈!就感觉上街买菜啊!如果2.5一斤我才买,多了就不买,嘿嘿!我试试这个的效果。我把前面学习的综合来试试,嘿嘿:


 
  1. >>> m = 10 
  2. >>> if m > 20 
  3. SyntaxError: invalid syntax 
  4. >>> if m > 20
  5.     print "OK"    >>> if m > 2
  6.     print "OK" 
  7.  
  8.     OK 

嘿嘿!不错,中间我还出了个问题,居然在if语句后面还要打个:号。晕!记住!

四:函数

函数的话,我之前也已经查询了有关资料,其实就是一段可以重复利用的小程序段。刚才我不知道python怎么知道input的函数的。现在我知道了,原来是这样子的。input是标准函数,也被称为内建函数!所以python知道的,就相当于1个人肯定知道有没有嘴巴,耳朵一样嘿嘿。其实刚才的乘方可以用内建函数pow来实现:


 
  1. >>> 2 ** 3 
  2. 8 
  3. >>> pow(2,3
  4. 8 

其实这种行为就叫做函数调用啦!一个函数调用行为需要给函数参数,参数的个数和不同的函数实现是有关系的。上面pow的例子是给2个参数,然后函数会返回1个值,这个值就是幂运算啦!因为是交互式环境,所以就直接打印出函数返回值了!哈哈,又学到点东西啦!唉!内建函数还不少啊!我得记住啊!认真实践下比如abs,round,等等,好多呢!

五:模块

诶!模块是个什么东西。哦!原来模块是增强python功能的扩展。就相当于,我买了1辆“大黄蜂”,这样我就能更快的去更远的地方!呵呵。模块里有很多扩展的函数,就相当于“大黄蜂”,内建函数就相当于自身有史以来的嘴巴,耳朵。呵呵!比如floor这个函数,可以向下取整。但是这个函数不在内建函数中,而在其他模块中(math模块中),这就需要用一个命令import来导入模块了!我试试:


 
  1. >>> import math 
  2. >>> math.floor(32.9
  3. 32.0 

哈哈,不错!成功了!导入1个模块后,只要用模块名.函数的格式就可以使用这个模块中的函数了。但是我注意到1个问题啊,floor向下取整后,出来的结果是浮点数,如果我要把它编程整数怎么办啊!还好有个办法,用int函数把它包起来,试试:


 
  1. >>> int(math.floor(32.9)) 
  2. 32 

哈哈啊!成功了!不错啊。但是每次用math模块里的函数都要加模块名.的前缀,还是非常麻烦啊,怎么办啊!有个解决办法,用form模块import函数。这样的形式就可以直接用函数了,不用加模块名前缀了。试试:


 
  1. >>> from math import sqrt 
  2. >>> sqrt(9
  3. 3.0 

嗯,太好了!

如何在WINDOWS下双击执行python程序.如果要像普通应该程序一样在windows下双击执行,得注意几个问题呢!第一个保存的文件后缀要为.py(这里要注意啊,WINDOWS默认是隐藏了后缀名的,如果你记事本编辑出来的文件后缀其实是.txt,所以得把默认的隐藏后缀改为显示出来。)再一个就是要把python解释器所在的目录加到系统path环境变量里,这样,windows才能找到python解释器呢。还要注意的一个问题的,我像如下写的代码


 
  1. print "hello world!" 

保存为.py结尾的文件,path环境变量也设置好了后,双击后程序一闪而过,晕死!这里必须还要加行代码才行,如下:


 
  1. print "helloworld!"raw_input("Press "

哈哈,这样就好了!你就能看到程序运行的结果了!不错吧!哈哈!

注释。这个注释非常重要啊,我查询了有关资料说,写好注释不光是方便了自己以后读自己的代码,也是给别人读你代码提供了很大的帮助。多些注释啊,但是简单到白痴的代码行也就不要写了,嘿嘿!

七:字符串.

最早我写的那行print "Hello, world!"嘿嘿!这个程序中这个"Hello,world"是什么,这个就是字符串了。python里字符串其实和数字一样啊!也是1个值呢!我们来看个字符串:


 
  1. >>> "Hello,world!" 
  2. 'Hello,world!' 
  3. >>> "Let's go! 
  4. ""Let's go!" 
  5. >>> 'Let's go!' 
  6. SyntaxError: invalid syntax 
  7. >>> 'Let\'s go! 
  8. '"Let's go!" 

嘿嘿,发现没有!python中的字符串,单引号和双引号结果是一样,但是在单引号和双引号混用的时候就表现出来它的作用了;反斜杠呢可以用来转义!这样就可以在一个字符串中只用一种引号形式了!

字符串的拼接 字符串的拼接呢是用“+”例如:


 
  1. >>> "Hello," + "world!" 
  2. 'Hello,world!' 
  3. >>> x = "Hello," 
  4. >>> y = "world!" 
  5. >>> x + y 
  6. 'Hello,world!' 

哈哈,不错吧,加号还有这个作用呢!

字符串的表示,str和repr.python中对字符串的处理有两种机制。什么是机制,唉!就想象成办法和做法吧!我暂时也不是很理解!。一种是通过str函数,它会把值转换为合理形式的字符串,使用户看起来容易理解;一种是通过repr函数,它会以合法的python表达式的字符串形式来表示值,如下:


 
  1. >>> print repr("Hello,world!"
  2. 'Hello,world!' 
  3. >>> print repr(10000L
  4. 10000L 
  5. >>> print str("Hello,world!"
  6. Hello,world! 
  7. >>> print str(10000L
  8. 10000 

嘿嘿,明白了。这样做是有道理的,请看如下事例:


 
  1. >>> temp = 42 
  2. >>> print "The temperature is" + temp 
  3. Traceback (most recent call last):  
  4.  File "<pyshell#36>", line 1in <module>    
  5.  print "The temperature is" + temp 
  6. TypeError: cannot concatenate 'str' and 'int' objects 
  7. >>> print "The temperature is" + repr(temp) 
  8. The temperature is42 

哈哈!第一print语句为什么错误,那是因为不可以将字符串和数字相加呢!第二个正确是因为已经通过repr把temp变量转换为了字符串形式呢!反正!str,repr是将python转换为字符串的2种方法啦!函数str让字符串更容易阅读!,repr把结果字符串转换为合法的python表达式.

input和raw_input的区别 以前我已经用过input进行用户的输入了,但是这里为什么还要有个raw_input啊,难道其中有什么原因吗,我写个代码看看:


 
  1. name = input("What is your name?"
  2. print "Hello." + name + "s" 
  3. ‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’ 
  4. ‘What is your name?dodolook 
  5. 出错!!!!! 

晕!这样的代码看起来没有任何问题,为什么会出错啊!哦!原来问题在于input会假设用户舒服的是合法的python表达式,如果用字符串作为输入名字,这个程序就不会用问题,然而要求用户输入名字还要加个引号实在有点过分啊!怎么办呢,这个时候就需要用raw_input函数了。它会把所以的输入当作原始数据,然后放入其字符串中。嘿嘿,所以没有特别的需要,都用raw_input吧。关于什么特别需要的时候用input,唉!暂时不管了!

长字符串。在书写非常长的字符串的时候,例如它需要跨多行的时候,那么可以使用3引号。而且啊这种与众不同的引用方式,你可以在字符串之间同时使用单引号和双引号,而不需要使用反斜线呢!

加载中
0
杨军军
杨军军

有意思,这就是传说中的循循善诱?

0
Rei Link
Rei Link

非常有爱的讲解.=v=

0
番茄炒蛋
番茄炒蛋

很通俗易懂的讲解了怎么开始Python编程

0
s
sir_caolibao
有一本叫做<<python精要>>的书籍,很适合python入门者学习
0
许sir
很有意思的解读 哈哈~
0
微笑的书生
微笑的书生
原谅我笑喷了!这样的写作风格蛮不错。
0
开源中国第一渣男
开源中国第一渣男
牛xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
0
我的她最美
我的她最美
原来问题在于input会假设用户舒服的是合法的
0
我的她最美
我的她最美

原来问题在于input会假设用户舒服的是合法的

===

这句话似乎有点问题

返回顶部
顶部