1.Python解釋器
當(dāng)我們編寫Python代碼時,我們得到的是一個包含Python代碼的以.py為擴(kuò)展名的文本文件。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件。Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網(wǎng)絡(luò)調(diào)用來交互,確保各程序之間的獨(dú)立性。
2.使用文本編輯器
在Python的交互式命令行寫程序,好處是一下就能得到結(jié)果,壞處是沒法保存,下次還想運(yùn)行的時候,還得再敲一遍。
所以,實(shí)際開發(fā)的時候,我們總是使用一個文本編輯器來寫代碼,寫完了,保存為一個文件,這樣,程序就可以反復(fù)運(yùn)行了。
3.終端運(yùn)行python文件
3.1 用文本編輯器寫Python程序,然后保存為后綴為.py的文件,就可以用Python直接運(yùn)行這個程序了。
3.2 Python的交互模式和直接運(yùn)行.py文件有什么區(qū)別呢?
直接輸入python進(jìn)入交互模式,相當(dāng)于啟動了Python解釋器,但是等待你一行一行地輸入源代碼,每輸入一行就執(zhí)行一行。
直接運(yùn)行.py文件相當(dāng)于啟動了Python解釋器,然后一次性把.py文件的源代碼給執(zhí)行了,你是沒有機(jī)會以交互的方式輸入源代碼的。
3.3 運(yùn)行示例
終端運(yùn)行示例.png
4.輸出和輸入
name = input('please enter your name: ')
print('hello,', name)
5.可變數(shù)組
1,list是一種有序的集合,可以隨時添加和刪除其中的元素。
classmates = ['Michael', 'Bob', 'Tracy']
2,用len()函數(shù)可以獲得list元素的個數(shù)
3,用索引來訪問list中每一個位置的元素,索引從0開始,最后一個元素索引為-1
classmates[0]
4,list是一個可變的有序表,可以往list中追加元素到末尾
classmates.append('Adam')
5,把元素插入到指定的位置,比如索引號為1的位置
classmates.insert(1, 'Jack')
6,刪除list末尾的元素,用pop()方法
classmates.pop()
7,刪除指定位置的元素,用pop(i)方法,其中i是索引位置
classmates.pop(1)
8,把某個元素替換成別的元素,可以直接賦值給對應(yīng)的索引位置
classmates[1] = 'Sarah'
6.不可變數(shù)組
1,tuple和list非常類似,但是tuple一旦初始化就不能修改
classmates = ('Michael', 'Bob', 'Tracy')
2,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義
t = (1,)
7.dict和set
7.1 dict
基本操作
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
把數(shù)據(jù)放入dict的方法,除了初始化時指定外,還可以通過key放入:
>>> d['Adam'] = 67
>>> d['Adam']
67
如果key不存在,dict就會報錯:
>>> d['Thomas']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Thomas'
要避免key不存在的錯誤,有兩種辦法,一是通過in判斷key是否存在:
>>> 'Thomas' in d
False
二是通過dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
注意:返回None的時候Python的交互環(huán)境不顯示結(jié)果。
要刪除一個key,用pop(key)方法,對應(yīng)的value也會從dict中刪除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
7.2 set
1,set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復(fù),所以,在set中,沒有重復(fù)的key。
要創(chuàng)建一個set,需要提供一個list作為輸入集合:
>>> s = set([1, 2, 3, 1])
>>> s
{1, 2, 3}
2,通過add(key)方法可以添加元素到set中,可以重復(fù)添加,但不會有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
3,通過remove(key)方法可以刪除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
8.條件判斷
條件判斷從上向下匹配,當(dāng)滿足條件時執(zhí)行對應(yīng)的塊內(nèi)語句,后續(xù)的elif和else都不再執(zhí)行。
if <條件判斷1>:
<執(zhí)行1>
elif <條件判斷2>:
<執(zhí)行2>
elif <條件判斷3>:
<執(zhí)行3>
else:
<執(zhí)行4>
9.循環(huán)
9.1 for...in循環(huán)
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
9.2 while循環(huán)
while循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時退出循環(huán)
>>>sum = 0
>>>n = 99
>>>while n > 0:
sum = sum + n
n = n - 2
print(sum)
9.3 range()
Python提供一個range()函數(shù),可以生成一個整數(shù)序列,再通過list()函數(shù)可以轉(zhuǎn)換為list。比如range(5)生成的序列是從0開始小于5的整數(shù):
>>> list(range(5))
[0, 1, 2, 3, 4]
10.基本內(nèi)置函數(shù)
1,求絕對值的函數(shù)abs
>>> abs(100)
100
>>> abs(-20)
20
2,數(shù)據(jù)類型轉(zhuǎn)換
int()函數(shù)可以把其他數(shù)據(jù)類型轉(zhuǎn)換為整數(shù)
>>> int('123')
123
>>> int(12.34)
12
3,hex()函數(shù)把一個整數(shù)轉(zhuǎn)換成十六進(jìn)制表示的字符串
>>> hex(100)
'0x64'
>>> hex(1000)
'0x3e8'