python基礎學習筆記(一)


 

       好吧!我早就想學習一門語言了,我想編程是我們大多測試員的短板。雖然,我更熟悉JAVA,但我還是的rubypython之間猶豫了很久。我一直覺得自己編程方面沒有天賦。所以就選個簡單點的下手吧。


 

 

安裝與運行交互式解釋器

 

    在絕大多數linuxUNIX系統安裝中(包括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

   什么情況?12 不是應該等於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 只能帶得到19 ,余數就是4


下面再試試“ ** ” 冪運算(乘方)符

>>> 2*2*2 
8 
>>> 2**3 
8 
>>> 2**6 
64 
>>> -3**2 
-9 
>>> (-3)**2 
9

23次方可以用乘方符(**)表示,這樣就相當方便。

乘方符的比取反(一元減運算符)的優先級高,所以-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 變量現在的值就是3x 乘以 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不好的意思)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM