python基础教程-第1章节 基础知识
我找到了1本python的书,听说这个教程非常的基础。那就太好了,我从来没有写过程序,那就从这本书开始学习啊,哈哈。我是想边学编程边做一些学习记录方便以后复习啊,再就是可以监督自己学得认真点啊,让自己学得更牢靠。我一定会坚持下去的。因为我梦想有一天能知道程序到底是个什么玩意。我觉得程序那些功能很神奇。我要搞清楚它。
开始看书实践学习!
一:python的安装与一生中的第一个程序
哦!要写python程序必须要安装python啊!我以为是直接写呢,晕。我还是先去看看资料为什么要先安装python。通过查询我知道了,原来计算机程序分几种,1种是编译型的,1种是解释型的。编译型的像C C++,解释型的像python perl ruby.哦!不过我还是不太明白,只是有点点概念了!不管了!反正大概知道了,编译型的需要先写好源代码然后编译链接才能运行,解释型的就相当于一个计算机的翻译,可以一条一条的执行。
我就先安装python的这个翻译了!谷歌搜索到了python的官方网站,晕!有2个派系的安装文件,不管了!2.7的应该比3.2的要简单的,就安装2.7的吧(教材上也安装的2点几的)。因为以前安装过游戏,嘿嘿,我知道如何安装的。不一会儿,安装好了。然后我打开了标准python解释环境IDLE.我按照书上打下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中输入
print 2 + 2
print 1 / 2
>>>1.0 / 2.0
0.5
>>>1 / 2.0
0.5
>>>1.0 / 2
0.5
>>>1 / 2.
0.5
哈哈不错!而且,表示实数,在整数后只跟1个点也可以的,哈哈!但是这样用有时候觉得有点繁琐,如果希望python只执行普通的除法该怎么办啊!书上说有办法,就是在代码前增加一行代码:
from __future__ import division
print 1 / 2
print 1 // 2
这样整数除法就不会做整除了,但是如果还是想整除就可以用两个//。仔细想想,除了(加,减,乘,除)应该还可以取余,乘方啊,我试试:
print 1 % 2
print 10 / 3
print 10 % 3
print 9 % 3
print 2.34 % 0.5
________________________________
1
3
1
0
0.34
哈哈不错!完全没有问题,不过取余运算在哪些地方有用的啊。不错,比如你要每10分钟拖地1次,就可以拿检查时间10%的结果是否为0做判断即可,哈哈!仔细想象还真是这样啊,原来取余可以这样应用的。
晕!刚才没写完就点发布了!现在接着学习,长整型!长整型也就是很长很长的整数类型吧。我在交互环境试试,主要是我现在还写不出很长的代码,用eclipse暂时太浪费了(唉!离神的距离更远了!),我试试看,很长很长的整数,看看python如何回应!
>>> 999999999999999999999999999999999999999
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已经知道了。我现在在交互式下试试这个函数
>>>input("the meaning of life:")
the meaning of life:25
25
>>>x = input("x:")
x: 23
>>>y = input("y:")
y: 32
>>>print x * y
736
哈哈!不错!这样做就好多啦!我把“菜”放入了“箱子”,而且我还计算输入了2个数的乘积。
if.if语句。哦!这个应该是如果的意思,那也就是说,如果怎么样了,才怎么样!嗯!这个好,以前我写的几行代码,都是一条一条的执行的!现在有了这个东西就可以如果怎么样了就怎么样了啊,哈哈!就感觉上街买菜啊!如果2.5一斤我才买,多了就不买,嘿嘿!我试试这个的效果。我把前面学习的综合来试试,嘿嘿:
>>> m = 10
>>> if m > 20
SyntaxError: invalid syntax
>>> if m > 20:
print "OK"
>>> if m > 2:
print "OK"
OK
嘿嘿!不错,中间我还出了个问题,居然在if语句后面还要打个:号。晕!记住!
四:函数。
函数的话,我之前也已经查询了有关资料,其实就是一段可以重复利用的小程序段。刚才我不知道python怎么知道input的函数的。现在我知道了,原来是这样子的。input是标准函数,也被称为内建函数!所以python知道的,就相当于1个人肯定知道有没有嘴巴,耳朵一样嘿嘿。其实刚才的乘方可以用内建函数pow来实现:
>>> 2 ** 3
8
>>> pow(2,3)
8
其实这种行为就叫做函数调用啦!一个函数调用行为需要给函数参数,参数的个数和不同的函数实现是有关系的。上面pow的例子是给2个参数,然后函数会返回1个值,这个值就是幂运算啦!因为是交互式环境,所以就直接打印出函数返回值了!哈哈,又学到点东西啦!唉!内建函数还不少啊!我得记住啊!认真实践下比如abs,round,等等,好多呢!
五:模块。
诶!模块是个什么东西。哦!原来模块是增强python功能的扩展。就相当于,我买了1辆“大黄蜂”,这样我就能更快的去更远的地方!呵呵。模块里有很多扩展的函数,就相当于“大黄蜂”,内建函数就相当于自身有史以来的嘴巴,耳朵。呵呵!比如floor这个函数,可以向下取整。但是这个函数不在内建函数中,而在其他模块中(math模块中),这就需要用一个命令import来导入模块了!我试试:
>>> import math
>>> math.floor(32.9)
32.0
>>> int(math.floor(32.9))
32
哈哈啊!成功了!不错啊。但是每次用math模块里的函数都要加模块名.的前缀,还是非常麻烦啊,怎么办啊!有个解决办法,用form模块import函数。这样的形式就可以直接用函数了,不用加模块名前缀了。试试:
>>> from math import sqrt
>>> sqrt(9)
3.0
嗯,太好了!
如何在WINDOWS下双击执行python程序.如果要像普通应该程序一样在windows下双击执行,得注意几个问题呢!第一个保存的文件后缀要为.py(这里要注意啊,WINDOWS默认是隐藏了后缀名的,如果你记事本编辑出来的文件后缀其实是.txt,所以得把默认的隐藏后缀改为显示出来。)再一个就是要把python解释器所在的目录加到系统path环境变量里,这样,windows才能找到python解释器呢。还要注意的一个问题的,我像如下写的代码
print "hello world!"
print "helloworld!"
raw_input("Press <enter>")
哈哈,这样就好了!你就能看到程序运行的结果了!不错吧!哈哈!
注释。这个注释非常重要啊,我查询了有关资料说,写好注释不光是方便了自己以后读自己的代码,也是给别人读你代码提供了很大的帮助。多些注释啊,但是简单到白痴的代码行也就不要写了,嘿嘿!
七:字符串.
最早我写的那行print "Hello, world!"嘿嘿!这个程序中这个"Hello,world"是什么,这个就是字符串了。python里字符串其实和数字一样啊!也是1个值呢!我们来看个字符串:
>>> "Hello,world!"
'Hello,world!'
>>> "Let's go!"
"Let's go!"
>>> 'Let's go!'
SyntaxError: invalid syntax
>>> 'Let\'s go!'
"Let's go!"
嘿嘿,发现没有!python中的字符串,单引号和双引号结果是一样,但是在单引号和双引号混用的时候就表现出来它的作用了;反斜杠呢可以用来转义!这样就可以在一个字符串中只用一种引号形式了!
字符串的拼接。字符串的拼接呢是用“+”例如:
>>> "Hello," + "world!"
'Hello,world!'
>>> x = "Hello,"
>>> y = "world!"
>>> x + y
'Hello,world!'
哈哈,不错吧,加号还有这个作用呢!
字符串的表示,str和repr.python中对字符串的处理有两种机制。什么是机制,唉!就想象成办法和做法吧!我暂时也不是很理解!。一种是通过str函数,它会把值转换为合理形式的字符串,使用户看起来容易理解;一种是通过repr函数,它会以合法的python表达式的字符串形式来表示值,如下:
>>> print repr("Hello,world!")
'Hello,world!'
>>> print repr(10000L)
10000L
>>> print str("Hello,world!")
Hello,world!
>>> print str(10000L)
10000
>>> temp = 42
>>> print "The temperature is" + temp
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
print "The temperature is" + temp
TypeError: cannot concatenate 'str' and 'int' objects
>>> print "The temperature is" + repr(temp)
The temperature is42
哈哈!第一print语句为什么错误,那是因为不可以将字符串和数字相加呢!第二个正确是因为已经通过repr把temp变量转换为了字符串形式呢!反正!str,repr是将python转换为字符串的2种方法啦!函数str让字符串更容易阅读!,repr把结果字符串转换为合法的python表达式.
input和raw_input的区别。以前我已经用过input进行用户的输入了,但是这里为什么还要有个raw_input啊,难道其中有什么原因吗,我写个代码看看:
name = input("What is your name?")
print "Hello." + name + "s"
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
What is your name?dodolook
出错!!!!!
晕!这样的代码看起来没有任何问题,为什么会出错啊!哦!原来问题在于input会假设用户舒服的是合法的python表达式,如果用字符串作为输入名字,这个程序就不会用问题,然而要求用户输入名字还要加个引号实在有点过分啊!怎么办呢,这个时候就需要用raw_input函数了。它会把所以的输入当作原始数据,然后放入其字符串中。嘿嘿,所以没有特别的需要,都用raw_input吧。关于什么特别需要的时候用input,唉!暂时不管了!
长字符串。在书写非常长的字符串的时候,例如它需要跨多行的时候,那么可以使用3引号。而且啊这种与众不同的引用方式,你可以在字符串之间同时使用单引号和双引号,而不需要使用反斜线呢!
嘿嘿!到此为止,第一本编程书的第一章节差不多学完了!花了4个小时学习时间!加油!为了能写出程序的那个梦!
作者: dodolook 发表于 2011-05-19 14:11 原文链接
最新新闻:
· 陈天桥拍板解职酷6网高管(2011-05-19 22:27)
· 亚马逊Kindle电子书销量超印刷版图书(2011-05-19 22:26)
· MSN中国发布必应词典桌面版,及百度应用(2011-05-19 22:23)
· LinkedIn开盘报83美元暴涨84% 市值79亿美元(2011-05-19 22:18)
· 天下大势(2011-05-19 22:13)
编辑推荐:程序员的本质