好吧!我早就想學習一門語言了,我想編程是我們大多測試員的短板。雖然,我更熟悉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不好的意思)