python基础学习笔记(一)
2013-02-22 23:57 虫师 阅读( ... ) 评论( ... ) 编辑 收藏
好吧!我早就想学习一门语言了,我想编程是我们大多测试员的短板。虽然,我更熟悉 JAVA ,但我还是的 ruby 和 python 之间犹豫了很久。我一直觉得自己编程方面没有天赋。所以就选个简单点的下手吧。
安装与运行交互式解释器
在绝大多数 linux 和 UNIX 系统安装中(包括 Mac OS X ) ,Python 的解释器就已经存在了。我们可以在提示符下输入 python 命令进行验证(作者环境 ubuntu )
fnngj@fnngj-H24X:~ $ python Python 2.7.3 (default, Sep 26 2012, 21:53:58 ) [GCC 4.7.2 ] on linux2 Type " help " , " copyright " , " credits " or " license " for more information. >>>
Ok ! 如果 敲入 python 命令出现以上信息时,表明我们已经安装了 python 环境。
如果没有安装,在 ubuntu /Debin linux , 那么可以用下面的命令来安装 Python:
$ apt-get install python
如果是 window 下的安装,以及 linux 下下载源码包的安装,相信此类人问题很容易找到,这里就不具体讲解了。相信比第一次配置 java 环境要简单的多。
输入一下命令,看其是否可以正常运行。
>>> print " hello,world! " hello,world!
注意:如果要推出交互式解释器,可以 ctrl+D
算法是什么?
在认真编程之前,先来说说什么是计算机程序设计,简单地说,计算机程序设计就是告诉计算机做什么事。计算机可以做很多事,但它不会自己思考,需要我们告诉它具体细节,需要用计算机能够理解的语言将算法告诉它。“算法”不过是“程序”或者“食谱”的另一种悦耳的说法 ---- 详细描述如何做某事。
小葱拌豆腐、豆腐、
首先,拿一些豆腐;(声明一个变量)
然后加入小葱在豆腐上。(两个变量相加)
如果需要特殊辣味的豆腐。(考虑特定的条件)
煮熟 --- 每 10 分钟检查一次。(重复运行此指令)
食谱和算法都包含一些要素(对象、物品),以及指令(语句)。“小葱” 和“ 豆腐” 就是要素。指令包括“加入小葱在豆腐上” 等。
数字和表达式:
交互式 python 解释器可以当强大的计算器使用
>>> 1-2
-1
>>> 1+2
3
>>> 32784*13
426192
>>> 1/2
0
什么情况? 1 除 2 不是应该等于 0.5 么?怎么是 0 呢? “ /” 用于取整,不够整除,肯定就是 0 了,试试浮点数
>>> 7/2 3 >>> 1.0/2.0 0.5
试试“ %” 取余
>>> 6 % 3 0 >>> 6 / 3 2 >>> 6 % 3 0 >>> 7 / 3 2 >>> 7 % 3 1 >>> 13 % 9 4 >>> 0.75 % 0.5 0.25
看明白整除( / )与取余( % )的区别了吧。
6 / 3 刚好被 2 整除,所以余数( % )是 0 , 13 / 9 只能带得到 1 个 9 ,余数就是 4 。
下面再试试“ ** ” 幂运算(乘方)符
>>> 2*2*2 8 >>> 2**3 8 >>> 2**6 64 >>> -3**2 -9 >>> (-3)**2 9
2 的 3 次方可以用乘方符( ** )表示,这样就相当方便。
乘方符的比取反(一元减运算符)的优先级高,所以 -3**2 等同于 - ( 3**2 ),如果想计算( -3 ) **2 ,就需要显式说明。
长整数
python 可以处理非常大的数
>>> 100000000000000000000000 100000000000000000000000L >>> 100000000000000000000000L 100000000000000000000000L
普通整数在 2 147 483 647 至 -2 147 483 647 之间,超出可以用长整形表示( L ) ,我们也可以自己把整数转换成长整型(输入时在末尾加“ L” )
变量
这个和其他编程语言没有任何不同,如果你从没接触过程序,相信你也很容易理解。
>>> x = 3 >>> x*2 6 >>> x = 5 >>> x * 2 1
把 3 赋值给 x ,那么 x 变量现在的值就是 3 , x 乘以 2 结果是 6 ,我又把 5 赋值给了 x ,那么与 2 相乘的结果肯定是 10 了。
定义变量规则:不能以数字开头,可以包含字母、数字和下划线。
语句
实际上最开始我们已经讲了语句 print 就是打印输出语句。
>>> 2*2
4
>>>
print
2*2
4
虽然结果一样,上面的是表达式,下面的是语句。
获取用户输入
有使用程序运行的过程需要用户输入,根据用户输入的内容继续执行。
>>> input( " 输入表达式: " ) 输入表达式: 2*2 4
程序的第二行等待用户输入, 2*2 是由用户随便输入的。下面看个更有意思点的。
>>> x=input( " x: " ) x: 15 >>> y=input( " y: " ) y: 32 >>> print x* y 480
哎~!别傻看了,和我一起敲才有意思呢! 我保证下面的你看不懂!
>>> if 1==2 : print ' one equals two ' ... >>> if 1==1 : print ' one equals one ' ... one equals one
算了,告诉你吧,如果 1 等于( == ) 2 ,条件是假(就是不成立), print 'one equals two' 将不被执行。
如果 1 等于( == ) 1 ,条件是真(成立), print 'one equals ' 将被执行。
函数
前面介绍过使用幂运算符( ** )来计算乘方。事实上,可以用函数来代替运算符,这个函数就是 pow :
>>> 2**3
8
>>> pow(2,3
)
8
函数就像可以用来实现特定功能的小程序一样。 python 的很多函数都做很奇妙的事情。我们也可以自定义函数。因此,我们通常把 pow 等系统提供的函数称为 内建函数。
>>> 10+pow(2, 3*5)/3.0 10932.666666666666 >>> abs(-10 ) 10 >>> 18/13 1 >>> round(18.4/13.7 ) 1.0
我们当热可以使用函数调用和运算符创建更复杂的表达式; abs() 函数可以得到数人绝对值, round 函数则会把浮点数四舍五入为最接近的整数值。
模块
可以把模块想象成导入到 python 以增强其功能的扩展。需要使用特殊人命令 import 来导入模块。
>>> import math >>> math.floor(32.9 ) 32.0 >>> int(math.floor(32.9 )) 32
floor 函数的功能是取整。因为 floor() 函数属于 math 模块,所以在使用之前要先导入模块( import math ),然后按照(模块 . 函数)的格式使用这个模块的函数。
如果想把 32.9 转换为整数( 32 )而不是浮点数( 32.0 ),可以使用 int 函数。
在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写模块的名字。那么,可以使用 import 命令的另外一种形式:
>>> from math import sqrt >>> sqrt(9 ) 3.0 >>> sqrt(8 ) 2.8284271247461903
sqrt() 函数用于计算一个数的平方根。
保存并执行程序
本人在 ubuntu 下进程学习,一个 python 命令就进入了交互式解释器。交互式解释器是 python 的强项之一,它让实时检验解决方案并且体验这门语言成为了现实。但是,在交互式解释器里面输入的一切都会在它退出的时候丢失。我们真正想做的事情是编写自己和他人都能运行的程序。
下面我们创建一个文件
root@fnngj
-H24X:/hzh/python
#
touch hell.py
root@fnngj-H24X:/hzh/python
#
ls
hell.py
root@fnngj
-H24X:/hzh/python
#
vi hell.py
输入:
print
“hello,world!”
保存退出。运行
root@fnngj
-H24X:/hzh/python
#
python hell.py
hello,world!
看!这就是一个可以一直运行的程序。 好吧!以上面的这种方式,在来做个有意思的程序。
打开文件,输入一下程序:
name
=raw_input(
"
what is your name?
"
)
print
"
hello
"
+name+
"
!
"
保存退出,运行!
root@fnngj
-H24X:/hzh/python
#
python hell.py
what
is
your name?huhu //
这里要求用户输入自己的名字
hello huhu !
不知道是因为 python 语言本身的特点,还是因为我找到了一本不错的入门教程《 python 基础教程(第二版)》 ,我学习这门语言的过程非常舒服。不像 java ,为了使程序输出一个 hello word ,要写很多东西。(这里没有说 java 不好的意思)