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