在介紹之前我們先來(lái)看看計(jì)算機(jī)的三個(gè)根本性基礎(chǔ):
1.計(jì)算機(jī)是執(zhí)行輸入、運(yùn)算、輸出的機(jī)器
2.程序是指令和數(shù)據(jù)的集合
3.計(jì)算機(jī)的處理方式有時(shí)與人們的思維習(xí)慣不同
(以上是引自《計(jì)算機(jī)是怎樣跑起來(lái)的》)
個(gè)人認(rèn)為深入理解這三大原則,對(duì)于計(jì)算機(jī)新技術(shù)的入門(mén)很有幫助。就拿Python來(lái)說(shuō)吧。如果我們了解了它的輸入、輸出和運(yùn)算規(guī)則,了解了它的指令集和數(shù)據(jù)結(jié)構(gòu),進(jìn)一步了解了它的運(yùn)算處理方式,那么是不是我們就可以完成一些簡(jiǎn)單的程序,實(shí)現(xiàn)一些小巧的功能,也就是實(shí)現(xiàn)了python的入門(mén)了呢。下面就來(lái)簡(jiǎn)單的介紹一下Python輸入/輸出、數(shù)據(jù)類(lèi)型、條件/循環(huán)語(yǔ)句吧。
一、預(yù)備知識(shí)
Python文件以.py為擴(kuò)展名。
(1)Python標(biāo)識(shí)符
在python中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(xiàn)(_),但不能以數(shù)字開(kāi)頭。python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。以下劃線(xiàn)開(kāi)頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線(xiàn)開(kāi)頭(_foo)的代表不能直接訪(fǎng)問(wèn)的類(lèi)屬性,需通過(guò)類(lèi)提供的接口進(jìn)行訪(fǎng)問(wèn),不能用"from xxx import *"而導(dǎo)入;以雙下劃線(xiàn)開(kāi)頭的(__foo)代表類(lèi)的私有成員;以雙下劃線(xiàn)開(kāi)頭和結(jié)尾的(__foo__)代表python里特殊方法專(zhuān)用的標(biāo)識(shí),如__init__()代表類(lèi)的構(gòu)造函數(shù)。
(2)Python保留字符
下面的列表顯示了在Python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識(shí)符名稱(chēng)。所有Python的關(guān)鍵字只包含小寫(xiě)字母。
and
exec
not
assert
finally
or
?
break
for
pass
class
from
continue
global
raise
def
if
return
del
import
try
elif
in
while
else
is
with
except
lambda
yield
(3)行和縮進(jìn)
學(xué)習(xí)Python與其他語(yǔ)言最大的區(qū)別就是,Python的代碼塊不使用大括號(hào)({})來(lái)控制類(lèi)、函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進(jìn)來(lái)寫(xiě)模塊。縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。
(4)Python引號(hào)
Python接收單引號(hào)(' ),雙引號(hào)(" ),三引號(hào)(''' """)來(lái)表示字符串,引號(hào)的開(kāi)始與結(jié)束必須的相同類(lèi)型的。 其中三引號(hào)可以由多行組成,編寫(xiě)多行文本的快捷語(yǔ)法。
(5)Python注釋
python中單行注釋采用 #開(kāi)頭。
以 #!開(kāi)頭的稱(chēng)為組織行,這行告訴你的Linux/Unix系統(tǒng)當(dāng)你執(zhí)行你的程序的時(shí)候,它應(yīng)該運(yùn)行哪個(gè)解釋器。例如:#!/usr/bin/python
二、輸入輸出:
(1)程序的輸入/輸出
str = input("Enter your input: ");#鍵盤(pán)輸入
print ("Received input is : ", str);#屏幕輸出
(2)文件的輸入/輸出
poem ='''''
Programmingis fun
When thework is done
if youwanna make your work also fun:
use Python!
'''
f =open('poem.txt', 'w') #open for 'w'riting
f.write(poem) #write text to file
f.close() #close the file
f =open('poem.txt')
#if nomode is specified, 'r'ead mode is assumed by default
whileTrue:
line = f.readline()
if len(line) == 0:#Zero length indicatesEOF
break
print(line),
#Notice comma to avoid automatic newlineadded by Python
f.close()#close the file
三、數(shù)據(jù)結(jié)構(gòu):
(1) None類(lèi)型
None表示空對(duì)象。如果一個(gè)函數(shù)沒(méi)有顯示的返回一個(gè)值,None就被返回。None的bool值為false
(2) 數(shù)值類(lèi)型
Python有4種數(shù)值類(lèi)型:整數(shù)、長(zhǎng)整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。所有數(shù)值類(lèi)型都是不可變類(lèi)型。
python不支持自增自減操作符++,--,++i,其實(shí)是+(+i)的意思
運(yùn)算符與表達(dá)式:基本上與其它語(yǔ)言相類(lèi)似,只是有以下幾點(diǎn)不同:
x*y:乘法。2 * 3得到6。'la' * 3得到'lalala'。
x**y:冪運(yùn)算,返回 x 的 y 次冪。
x/y:x 除以 y,4/3得到1(整數(shù)的除法得到整數(shù)結(jié)果)。4.0/3或4/3.0得到1.3333333333333333。
x//y:取整除。返回商的整數(shù)部分。4 // 3.0得到1.0。
除法//:地板除在任何時(shí)候都會(huì)將小數(shù)部分舍為0
-x 改變x的符號(hào)位
(3) 字符串
字符串:?jiǎn)我?hào)(‘)和雙引號(hào)(")的作用相同,只能創(chuàng)建單行字符串。轉(zhuǎn)義符是()。
三引號(hào)(如:'''或者""")之間的一切都是字符串的內(nèi)容。
自然字符串:在字符串前加R(或r)指示某些不需要如轉(zhuǎn)義符那樣的特別處理的字符串,如:print R“Hello World”,將直接輸出“Hello World”而不會(huì)出現(xiàn)換行的情況。
獲得子串: s[i:j],返回s 從i到j(luò)(不包括j)之間的子串。若i省略則i=0,若j省略則j=len(s)-1
str() repr() 函數(shù)或者向后的引號(hào)(`)可以將其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為字符串。
Unicode字符串:在字符串前加U(或u)。如 a=u'hello',每個(gè)字符用16位來(lái)表示 "hello" 'world'會(huì)被自動(dòng)連接為一個(gè)字符串"helloworld" ,"s1"u"s2"就會(huì)產(chǎn)生u"s1s2"
字符串、Unicode字符串及tuple是不可變的序列。
(4) 列表和元組(list& tuple)
列表和元組是任意對(duì)象的序列,支持的常用操作:
len()
append()
insert(index,aMember)
list[index]=aNewMember
一個(gè)元素的元組:a=(12,) #注意一定要個(gè)額外的逗號(hào)!對(duì)于tuple中的元素,不可以修改,也不可以添加列表是可變的序列,允許插入,刪除,替換元素等操作,可變序列支持的操作:
s[i]=v
s[i:j]=t # t要是個(gè)序列
del s[i]
del s[i:j]
(5)字典
字典就是一個(gè)關(guān)聯(lián)數(shù)組(或稱(chēng)為哈希表),是一個(gè)通過(guò)關(guān)鍵字索引的對(duì)象集合。使用{}來(lái)創(chuàng)建一個(gè)字典。字典的key是不能修改的對(duì)象(比如數(shù)字和tuple)。
#!/usr/bin/python
#創(chuàng)建字典
dict ={'Name': 'Zara', 'Age': 7, 'Class': 'First'};
#修改字典元素
dict['Age']= 8; # update existing entry
dict['School']= "DPS School"; # Add new entry
#訪(fǎng)問(wèn)輸出字典元素
print("dict['Age']: ", dict['Age']);#訪(fǎng)問(wèn)字典里的元素
print("dict['School']: ", dict['School']);
#刪除
deldict['Name']; # 刪除鍵是'Name'的條目
dict.clear(); # 清空詞典所有條目
del dict;
四、條件、循環(huán)控制語(yǔ)句
控制流語(yǔ)句:通過(guò)使用or,and,not關(guān)鍵字可以建立任意的條件表達(dá)式
(1)if-elif-else結(jié)構(gòu):
if something == 1:
doSomething1()
elif something == 2:
doSomething2()
else:
pass # 表示一個(gè)空的塊或者是空的主體,使用pass語(yǔ)句
(2)while-else結(jié)構(gòu):
while something:
doSomething1()
else:
doSomething2()
(3)for-else結(jié)構(gòu):
for i in range(1, 10, 2): # i 值從 1 到 10,步長(zhǎng)為2
print (i)
else:
print ('The for loop is over')
另:break和 continue:用于中斷和繼續(xù)循環(huán)。(Python 沒(méi)有switch-case 語(yǔ)句,可以通過(guò) if 語(yǔ)句配合字典完成同樣的工作)
評(píng)論
查看更多