Python可以說是最簡(jiǎn)單的編程語言,任何學(xué)過c語言的人都能快速入門,其文本處理能力強(qiáng)大,是工程師必不可少的工具
“
目錄
上篇
什么是腳本語言
如何安裝python
hello world
隨意變換字符串和數(shù)字
定義一個(gè)簡(jiǎn)單函數(shù)
for, while, if…else…結(jié)構(gòu)
下篇
強(qiáng)大的string文本處理
列表,元組,字典
讀寫文本文件
導(dǎo)入庫來實(shí)現(xiàn)高級(jí)功能
建一個(gè)自己的庫
”
1
什么是腳本語言
腳本語言是自C/C++之后興起的編程語言,主要代表是python, perl, ruby等。不少人大學(xué)里都學(xué)過匯編語言和C語言,老師上課時(shí)教導(dǎo)說,匯編語言屬于低級(jí)語言,是機(jī)器語言,而C語言是高級(jí)語言,因?yàn)镃語言更接近英語中的”白話文”,容易被人看懂。隨著時(shí)代發(fā)展,這個(gè)定義現(xiàn)在要被推翻了,可以說,匯編語言是低級(jí)語言,C語言是中級(jí)語言,而腳本語言是高級(jí)語言。相對(duì)于C語言,python ,perl, ruby等腳本的特點(diǎn)有:
a、無需編譯,C語言需要用VC++編譯器編譯,之后生成一個(gè)exe,然后點(diǎn)擊exe才能真正運(yùn)行程序,而腳本語言可以隨時(shí)運(yùn)行,代碼寫完按下F5就可以直接運(yùn)行。
b、更簡(jiǎn)單的編程,腳本語言取消了C語言中最大的難點(diǎn)指針,大大解放了程序員,另外,尤其是python,其編寫更為隨意,更加接近于”白話文”的水準(zhǔn)。
c、不再關(guān)注底層,腳本是工具,更側(cè)重于解決問題,一個(gè)原則是好用就行,莫談原理,無需像C語言那樣糾結(jié)于內(nèi)存分配,內(nèi)存泄露,虛函數(shù)表等等。
d、主流linux版本系統(tǒng)已直接嵌入python perl ruby,無需安裝,隨便打開個(gè)文本寫完直接運(yùn)行,當(dāng)然windows下還得安裝一下。
e、額外指出一點(diǎn),高級(jí)語言的底層,仍然是靠C/C++和匯編語言這些低級(jí)語言構(gòu)成的。
2
如何安裝python
雖然python已經(jīng)內(nèi)嵌入Linux但大多數(shù)人用的都是windows,直接下載一個(gè)python安裝包,一般是2.7.xx的版本即可,只有15M大小。安裝完成后打開python IDLE即可直接敲代碼了。
3
hello world
a、不知道誰起的頭第一個(gè)程序都是hello world
print ‘hello world’ # 很簡(jiǎn)單,直接打印出hello word
這里python的注釋采用井號(hào),而不是c語言的//
結(jié)尾也沒有C語言的分號(hào)
字符串用單引號(hào)和雙引號(hào)都可以
b、hello world的進(jìn)階
a = “hello world”
print a
python 無需像C語言要先申明string a或者char a,而可以直接給變量賦值
可以直接打印任何的變量,無需理會(huì)其類型,不像c語言必須使用printf(%s)指定其格式
c、hello world再進(jìn)階
a = ‘hello’
b = ‘world’
print a , ’ ’ , b
這里一樣打印出hello world,多個(gè)變量可以依次打印在一行里
4
隨意變換字符串和數(shù)字
a = 1
b = 2
c = a+b # 顯然這里c=3
a= ‘a(chǎn)aa’
b=’bbb’
c=a+b
print c #c等于aaabbb
python中無需定義數(shù)據(jù)類型,同一個(gè)變量a可以先賦值給數(shù)字,然后賦值給字符串,在大多數(shù)類python的“高級(jí)”語言中,指針被隱藏了,變量名就是指針,賦值的本質(zhì)是賦指針,如a=5,則在內(nèi)存中開一個(gè)空間寫入數(shù)字5,指針a指向這個(gè)內(nèi)存地址,隨后a=’bbbb’,則在內(nèi)存中另一個(gè)地方新開空間寫入字符串’bbbb’,將a的指針重新指向這個(gè)地址。原先的數(shù)字5仍然在內(nèi)存空間中的老地方,稍后由操作系統(tǒng)回收,這就是和C語言賦值原理的不同,也是他的便利所在。
5
定義一個(gè)簡(jiǎn)單函數(shù)
和C 語言一樣,可以定義自己的函數(shù),我們自己定義一個(gè)叫test的函數(shù),格式如下
def test(x+y):
a = x + y
b = x – y
return a,b
c, d= test(10,15) #使用這個(gè)函數(shù)
print c
print d
這里有兩個(gè)知識(shí)點(diǎn)
a、C語言的段落使用兩個(gè)大括號(hào)表示一個(gè)代碼段,python使用冒號(hào),冒號(hào)之后要縮進(jìn),當(dāng)不再縮進(jìn)的時(shí)候,就說段落結(jié)束。
b、Python函數(shù)可以有多個(gè)返回值,C語言只能有一個(gè)返回值,如果要返回多個(gè),必須打包成一個(gè)數(shù)組,而python不需要。
6
for, while, if…else…結(jié)構(gòu)
a、if…else…結(jié)構(gòu)
a=85
If a>=90:
print “A”
elif a>=80 and a<>
print “B”
else:
print “C”
和C語言類似,只是elif比C語言的else if少寫了幾個(gè)字,另外請(qǐng)注意冒號(hào)之后的縮進(jìn)。
b、while結(jié)構(gòu)
第一種,while條件判斷為真則繼續(xù)
i=0
while i<>
print i
i=i+1
第二種,while內(nèi)部break
i=0
while (1):
print i
i=i+1
If i==100:
break
這兩種都和C語言風(fēng)格類似,不用多說。
c、for結(jié)構(gòu)
for和C語言有很大區(qū)別,其本質(zhì)類似于perl中的foreach,而不是傳統(tǒng)C語言的for。
例如:從數(shù)字1打印到9
for a in range (1,10):
print a
這段for循環(huán)代碼會(huì)實(shí)現(xiàn)從數(shù)字1打印到數(shù)字9,注意不是10
range本身是一個(gè)系統(tǒng)自帶的函數(shù),他會(huì)生成一個(gè)從1,2,3,4….,8,9的數(shù)字?jǐn)?shù)組(在python中數(shù)組叫列表),隨后,for循環(huán)會(huì)依次遍歷這個(gè)列表,把其中的每一個(gè)值取出來,賦值給變量a。關(guān)于列表,我們稍后就講。
階段小結(jié):
這一期主要對(duì)比了python和傳統(tǒng)C語言在基本語法的不同,本質(zhì)來說,任何編程語言的思想都是一致的,從簡(jiǎn)單的函數(shù),到循環(huán),條件分支,再到復(fù)雜的面向?qū)ο笏季S。下一期我們會(huì)講python中一些相對(duì)高級(jí)功能,主要是字符串和列表的使用。
周捷
E課網(wǎng)優(yōu)秀講師
芯片驗(yàn)證工程師,具有豐富的項(xiàng)目經(jīng)驗(yàn)
注:?本文為“E課網(wǎng)”原創(chuàng),版權(quán)歸“E課網(wǎng)”所有,歡迎分享!
聯(lián)系客服