更新時間:2018-09-12 來源:黑馬程序員人工智能+Python培訓(xùn)學(xué)院? 瀏覽量:
python入門(三)--基礎(chǔ)
注釋:
以“#”開頭
代碼塊:
以冒號“:”結(jié)尾的縮進(Tab建)語句,大小寫敏感
字符串:
用‘’或者“”表示,如果‘’本身也是一個字符,可以用“”括起來,如:print "I'm a girl."
如果外面的是‘’怎么辦,可以用轉(zhuǎn)義字符:‘\'’,如:print 'I\'m a girl.'轉(zhuǎn)義字符\可以轉(zhuǎn)義很多字符,比如\n表示換行,\t表示制表符,字符\本身也要轉(zhuǎn)義,所以\\表示的字符就是\
在''前加上r,就可以不用轉(zhuǎn)義,直接打印,如: print r'\\\t\\\n\\'
如果字符串內(nèi)部有多次換行,用'''...'''格式表示,如: print '''aaa
... bbb
... ccc'''
Python提供了ord()和chr()函數(shù),可以把字母和對應(yīng)的數(shù)字相互轉(zhuǎn)換:如:
>>> chr(65)
'A'
>>> ord('A')
65
>>> ord('a')
97
Python在后來添加了對Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:
>>>print u'中國'
中國
>>> u'中國'
u'\u4e2d\u56fd'
字符編碼的轉(zhuǎn)換:
中文會轉(zhuǎn)為3個字符,與英文有區(qū)別
UNICODE-->UTF-8:
>>>u'ABC'.encode('utf-8')
'ABC'
>>>u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'
UTF-8-->UNICODE:
>>>'ABC'.decode('utf-8')
u'ABC'
>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
u'\u4e2d\u6587'
布爾值:
布爾值可以用‘a(chǎn)nd’、'or'、'not'來運算,如:True and False
空值:
用‘None’表示,與0不同。
除法
精確與非精確的區(qū)別:
>>>10/3
3
>>>10.0/3
3.3333333333333335
字符串
字母與數(shù)字可以相互轉(zhuǎn)換,如下所示
字母轉(zhuǎn)為數(shù)字:
>>> ord('B')
66
數(shù)字轉(zhuǎn)為字母:
>>> chr(66)
'B'
字符編碼之間可以相互切換,如下所示
UNICODEàUTF-8
>>> u'apple'.encode('utf_8')
'apple'
>>> u'中文'.encode('utf-8')
'\xe4\xb8\xad\xe6\x96\x87'
UTF-8àUNICODE
>>> u'apple'.decode('utf_8')
'apple'
>>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
u'\u4e2d\u6587'
引用的.py文件內(nèi)部,必須寫上這兩行:
#!/user/bin/evnpython
# -*-coding:utf-8 -*-
第一行注釋是為了告訴Linux/OS X系統(tǒng),這是一個Python可執(zhí)行程序,Windows系統(tǒng)會忽略這個注釋;
第二行注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。
格式化一個字符串,需要用‘%’,有如下使用:
%d
整數(shù)(可定義位數(shù),補0)
%f
浮點數(shù)(可定義位數(shù),小數(shù)點后位數(shù),補0)
%s
字符串(可任意使用)
%x
十六進制整數(shù)
例如:
>>>'hello,%s'% 'kitty'
'hello,kitty'
>>>'%6d--%%%.3f'%(2018,10.0/3)
' 2018--%3.333'
List
列表,類似于java中的數(shù)組,是有序的,可以添加和刪除
定義
>>> Fruits=['apple','pear','banana']
>>> Fruits
['apple', 'pear', 'banana']
長度
>>> len(Fruits)
3
索引:從0開始,可以為負數(shù),-1時代表倒數(shù)第一個元素
>>> Fruits[0]
'apple'
>>> Fruits[-1]
'banana'
替換:
>>> Fruits[1]='peach'
>>> Fruits[1]
'peach'
添加:
末尾添加append
定位添加insert(可通過負數(shù)索引添加,-1即倒數(shù)第二個元素,依次類推)
>>> Fruits.append('strawberry')
>>> Fruits
['apple', 'peach', 'banana', 'strawberry']
>>> Fruits.insert(2,'pear')
>>> Fruits
['apple', 'peach', 'pear', 'banana', 'strawberry']
>>> Fruits.insert(-1,'watermelon')
>>> Fruits
['apple', 'peach', 'pear', 'banana', 'watermelon', 'strawberry']
>>> Fruits.insert(-2,'mango')
>>> Fruits[-3]
'mango'
刪除:不加參數(shù),直接刪除最后一個元素,并返回該元素;指定位置,即刪除指定位置處元素,如是負數(shù)-1,即刪除最后一個元素
>>> Fruits.pop()
'strawberry'
>>> Fruits
['apple', 'peach', 'pear', 'banana', 'mango', 'watermelon']
>>> Fruits.pop(1)
'peach'
>>> Fruits
['apple', 'pear', 'banana', 'mango', 'watermelon']
>>> Fruits.pop(-1)
'watermelon'
>>> Fruits
['apple', 'pear', 'banana', 'mango']
排序(list是可變對象,因此可以排序)
>>> Fruits.sort()
>>> Fruits
['apple', 'banana', 'mango', 'pear']
Tuple
元祖,類似于list,但是是無序的,一旦初始化就不能修改,是可重復(fù)的
定義,當(dāng)定義為空和只有一個整型的元素需注意
>>> Students
('Andy', ['Belly', 'Cindy'], 'Andy', 'Daniel')
>>> t = ()
>>> t
()
>>> t = (1,)
>>> t
(1,)
長度
>>> len(Students)
4
索引:從0開始,可以為負數(shù),-1時代表倒數(shù)第一個元素
>>> Students[0]
'Andy'
>>> Students[-3]
['Belly', 'Cindy']
條件判斷
if <條件判斷1>:
<執(zhí)行1>
elif <條件判斷2>:
<執(zhí)行2>
elif <條件判斷3>:
<執(zhí)行3>
else:
<執(zhí)行4>
>>> grade = 99
>>> if grade <60 :
... print 'fail'
... elif grade >= 60 and grade <85:
... print 'pass'
... else:
... print 'good'
...
good
循環(huán)
For
其中range(x)函數(shù)代表從0到小于x的數(shù)
>>> for fruit in Fruits:
... print fruit
...
apple
pear
banana
mango
>>> for x in range(5):
... print x
...
0
1
2
3
4
while
>>> sum = 1
>>> n = 0
>>> while n<5:
... n = n + 1
... sum = sum + n
...
>>> print sum
16
Dic
字典,類似于map,鍵值對的存儲格式
定義
>>> Grades={'Andy':95,'Belly':88,'Tom':77}
>>> Grades
{'Andy': 95, 'Belly': 88, 'Tom': 77}
長度
>>> len(Grades)
3
索引:按key索引
>>> Grades['Andy']
95
替換:
>>> Grades['Andy']=97
>>> Grades
{'Andy': 97, 'Belly': 88, 'Tom': 77}
判斷key是否存在,有兩種方式:
一、in判斷,返回bool類型的值
二、get函數(shù)判斷,若無,指定返回值
>>> 'Jerry' in Grades
False
>>> 'Tom' in Grades
True
>>> Grades.get('Jerry',-1)
-1
>>> Grades.get('Tom',-1)
77
刪除,必須指定刪除的key
>>> Grades.pop('Tom')
77
>>> Grades
{'Andy': 97, 'Belly': 88}
Set
與set類似,也是一組key的集合,但是不存儲value
定義,重復(fù)元素自動過濾
>>> Numbers = set([1,2,3,4,3,2,1])
>>> Numbers
set([1, 2, 3, 4])
長度,只計算過濾后的值
>>> len(Numbers)
4
添加,重復(fù)添加會自動過濾
>>> Numbers.add(5)
>>> Numbers
set([1, 2, 3, 4, 5])
>>> Numbers.add(5)
>>> Numbers
set([1, 2, 3, 4, 5])
刪除
>>> Numbers.remove(4)
>>> Numbers
set([1, 2, 3, 5])
Set可以看成是數(shù)學(xué)上無序且無重復(fù)元素的集合,因此可以求交集和并集:
>>>Numbers
set([1, 2, 3,5])
>>>Numbers2 = set([1,5,6,7,2])
>>>Numbers & Numbers2
set([1, 2, 5])
>>>Numbers | Numbers2
set([1, 2, 3, 5,6, 7])
作者:黑馬程序員人工智能+Python培訓(xùn)學(xué)院
首發(fā):http://python.itheima.com/