python基礎(chǔ)學(xué)習(xí)筆記(一)
2013-02-22 23:57 ?蟲師 閱讀( ... ) 評(píng)論( ... ) 編輯 收藏?
? ? ? ?好吧!我早就想學(xué)習(xí)一門語言了,我想編程是我們大多測(cè)試員的短板。雖然,我更熟悉 JAVA ,但我還是的 ruby 和 python 之間猶豫了很久。我一直覺得自己編程方面沒有天賦。所以就選個(gè)簡(jiǎn)單點(diǎn)的下手吧。
?
?
安裝與運(yùn)行交互式解釋器
?
? ? 在絕大多數(shù) linux 和 UNIX 系統(tǒng)安裝中(包括 Mac OS X ) ,Python 的解釋器就已經(jīng)存在了。我們可以在提示符下輸入 python 命令進(jìn)行驗(yàn)證(作者環(huán)境 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 命令出現(xiàn)以上信息時(shí),表明我們已經(jīng)安裝了 python 環(huán)境。
? ? ? ? ? ?如果沒有安裝,在 ubuntu /Debin linux , 那么可以用下面的命令來安裝 Python:
$ apt-get install python
如果是 window 下的安裝,以及 linux 下下載源碼包的安裝,相信此類人問題很容易找到,這里就不具體講解了。相信比第一次配置 java 環(huán)境要簡(jiǎn)單的多。
?
輸入一下命令,看其是否可以正常運(yùn)行。
>>> print " hello,world! " hello,world!
注意:如果要推出交互式解釋器,可以 ctrl+D?
?
算法是什么?
? ? ? ?在認(rèn)真編程之前,先來說說什么是計(jì)算機(jī)程序設(shè)計(jì),簡(jiǎn)單地說,計(jì)算機(jī)程序設(shè)計(jì)就是告訴計(jì)算機(jī)做什么事。計(jì)算機(jī)可以做很多事,但它不會(huì)自己思考,需要我們告訴它具體細(xì)節(jié),需要用計(jì)算機(jī)能夠理解的語言將算法告訴它?!八惴ā辈贿^是“程序”或者“食譜”的另一種悅耳的說法 ---- 詳細(xì)描述如何做某事。
小蔥拌豆腐、豆腐、
首先,拿一些豆腐;(聲明一個(gè)變量)
然后加入小蔥在豆腐上。(兩個(gè)變量相加)
如果需要特殊辣味的豆腐。(考慮特定的條件)
煮熟 --- 每 10 分鐘檢查一次。(重復(fù)運(yùn)行此指令)
食譜和算法都包含一些要素(對(duì)象、物品),以及指令(語句)。“小蔥” 和“ 豆腐” 就是要素。指令包括“加入小蔥在豆腐上” 等。
?
?
數(shù)字和表達(dá)式:
?
交互式 python 解釋器可以當(dāng)強(qiáng)大的計(jì)算器使用
>>> 1-2
-1
>>> 1+2
3
>>> 32784*13
426192
>>> 1/2
0
? ?什么情況? 1 除 2 不是應(yīng)該等于 0.5 么?怎么是 0 呢? “ /” 用于取整,不夠整除,肯定就是 0 了,試試浮點(diǎn)數(shù)
>>> 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
看明白整除( / )與取余( % )的區(qū)別了吧。
6 / 3 剛好被 2 整除,所以余數(shù)( % )是 0 , 13 / 9 只能帶得到 1 個(gè) 9 ,余數(shù)就是 4 。
下面再試試“ ** ” 冪運(yùn)算(乘方)符
>>> 2*2*2 8 >>> 2**3 8 >>> 2**6 64 >>> -3**2 -9 >>> (-3)**2 9
2 的 3 次方可以用乘方符( ** )表示,這樣就相當(dāng)方便。
乘方符的比取反(一元減運(yùn)算符)的優(yōu)先級(jí)高,所以 -3**2 等同于 - ( 3**2 ),如果想計(jì)算( -3 ) **2 ,就需要顯式說明。
?
?
長(zhǎng)整數(shù)
python 可以處理非常大的數(shù)
>>> 100000000000000000000000 100000000000000000000000L >>> 100000000000000000000000L 100000000000000000000000L
普通整數(shù)在 2 147 483 647 至 -2 147 483 647 之間,超出可以用長(zhǎng)整形表示( L ) ,我們也可以自己把整數(shù)轉(zhuǎn)換成長(zhǎng)整型(輸入時(shí)在末尾加“ L” )
?
變量
這個(gè)和其他編程語言沒有任何不同,如果你從沒接觸過程序,相信你也很容易理解。
>>> x = 3 >>> x*2 6 >>> x = 5 >>> x * 2 1
把 3 賦值給 x ,那么 x 變量現(xiàn)在的值就是 3 , x 乘以 2 結(jié)果是 6 ,我又把 5 賦值給了 x ,那么與 2 相乘的結(jié)果肯定是 10 了。
定義變量規(guī)則:不能以數(shù)字開頭,可以包含字母、數(shù)字和下劃線。
?
?
語句
實(shí)際上最開始我們已經(jīng)講了語句 print 就是打印輸出語句。
>>> 2*2
4
>>>
print
2*2
4
雖然結(jié)果一樣,上面的是表達(dá)式,下面的是語句。
獲取用戶輸入
有使用程序運(yùn)行的過程需要用戶輸入,根據(jù)用戶輸入的內(nèi)容繼續(xù)執(zhí)行。
>>> input( " 輸入表達(dá)式: " ) 輸入表達(dá)式: 2*2 4
程序的第二行等待用戶輸入, 2*2 是由用戶隨便輸入的。下面看個(gè)更有意思點(diǎn)的。
>>> 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' 將不被執(zhí)行。
如果 1 等于( == ) 1 ,條件是真(成立), print 'one equals ' 將被執(zhí)行。
?
?
函數(shù)
前面介紹過使用冪運(yùn)算符( ** )來計(jì)算乘方。事實(shí)上,可以用函數(shù)來代替運(yùn)算符,這個(gè)函數(shù)就是 pow :
>>> 2**3
8
>>> pow(2,3
)
8
函數(shù)就像可以用來實(shí)現(xiàn)特定功能的小程序一樣。 python 的很多函數(shù)都做很奇妙的事情。我們也可以自定義函數(shù)。因此,我們通常把 pow 等系統(tǒng)提供的函數(shù)稱為 內(nèi)建函數(shù)。
>>> 10+pow(2, 3*5)/3.0 10932.666666666666 >>> abs(-10 ) 10 >>> 18/13 1 >>> round(18.4/13.7 ) 1.0
?
我們當(dāng)熱可以使用函數(shù)調(diào)用和運(yùn)算符創(chuàng)建更復(fù)雜的表達(dá)式; abs() 函數(shù)可以得到數(shù)人絕對(duì)值, round 函數(shù)則會(huì)把浮點(diǎn)數(shù)四舍五入為最接近的整數(shù)值。
?
模塊
可以把模塊想象成導(dǎo)入到 python 以增強(qiáng)其功能的擴(kuò)展。需要使用特殊人命令 import 來導(dǎo)入模塊。
>>> import math >>> math.floor(32.9 ) 32.0 >>> int(math.floor(32.9 )) 32
floor 函數(shù)的功能是取整。因?yàn)? floor() 函數(shù)屬于 math 模塊,所以在使用之前要先導(dǎo)入模塊( import math ),然后按照(模塊 . 函數(shù))的格式使用這個(gè)模塊的函數(shù)。
如果想把 32.9 轉(zhuǎn)換為整數(shù)( 32 )而不是浮點(diǎn)數(shù)( 32.0 ),可以使用 int 函數(shù)。
在確定自己不會(huì)導(dǎo)入多個(gè)同名函數(shù)(從不同模塊導(dǎo)入)的情況下,你可能不希望在每次調(diào)用函數(shù)的時(shí)候,都要寫模塊的名字。那么,可以使用 import 命令的另外一種形式:
>>> from math import sqrt >>> sqrt(9 ) 3.0 >>> sqrt(8 ) 2.8284271247461903
sqrt() 函數(shù)用于計(jì)算一個(gè)數(shù)的平方根。
?
保存并執(zhí)行程序
本人在 ubuntu 下進(jìn)程學(xué)習(xí),一個(gè) python 命令就進(jìn)入了交互式解釋器。交互式解釋器是 python 的強(qiáng)項(xiàng)之一,它讓實(shí)時(shí)檢驗(yàn)解決方案并且體驗(yàn)這門語言成為了現(xiàn)實(shí)。但是,在交互式解釋器里面輸入的一切都會(huì)在它退出的時(shí)候丟失。我們真正想做的事情是編寫自己和他人都能運(yùn)行的程序。
下面我們創(chuàng)建一個(gè)文件
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!”
保存退出。運(yùn)行
root@fnngj
-H24X:/hzh/python
#
python hell.py
hello,world!
?
?
看!這就是一個(gè)可以一直運(yùn)行的程序。 好吧!以上面的這種方式,在來做個(gè)有意思的程序。
?
打開文件,輸入一下程序:
name
=raw_input(
"
what is your name?
"
)
print
"
hello
"
+name+
"
!
"
保存退出,運(yùn)行!
root@fnngj
-H24X:/hzh/python
#
python hell.py
what
is
your name?huhu //
這里要求用戶輸入自己的名字
hello huhu !
?
?
? ? ? ? ? ? ?不知道是因?yàn)? python 語言本身的特點(diǎn),還是因?yàn)槲艺业搅艘槐静诲e(cuò)的入門教程《 python 基礎(chǔ)教程(第二版)》 ,我學(xué)習(xí)這門語言的過程非常舒服。不像 java ,為了使程序輸出一個(gè) hello word ,要寫很多東西。(這里沒有說 java 不好的意思)
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
