1.概論
弱型別 乙個變數能被賦值時能與原型別不同
x = 1
x = "1" #不加分號,給x賦值為int後再次賦值為string是可行的
與或非 and or not
/ #除法的結果是浮點數, 9 / 3 = 3.0
// #結果是整數 10 // 3 = 3
空值為none(相當於null)
內建型別 numbers(整數和浮點數), strings,lists
print('')
print("%%") #% 字串列印單引號和雙引號皆可
print(r'c:\users\local') #c:\user\local raw 表示不轉義 相當於c#中@
字串跨多行
print(''' 內容
內容''')
'''內容'''
2.字串
字元編碼
ascii 使用乙個位元組 包含127個編碼 (大小寫英文、數字、特殊符號)
unicode 使用兩個位元組表示乙個字元 (偏僻的使用4個位元組)
utf-8(8-bit unicode transformation format) 針對unicode的可變長編碼
屬於ascii的字元用乙個位元組,漢字使用兩個位元組編碼 完全相容ascii
計算機記憶體中統一使用unicode編碼,需要儲存或傳輸時轉換為utf-8編碼
ord() #取字元的整數表示
chr() #把編碼轉換為字元
print('\u4e2d\u6587') #中文
x = b'abc' #x為bytes 乙個字元占用乙個位元組
x = 'abc' #x為str
字串編碼(bytes str互轉)
str->bytes 'str'.encode('ascii') # utf-8
bytes->str b'str'.decode('ascii')
字串格式化
'%d,%f,%s,%x' % (2333,3.14,'python str',0x23)
'%2d-%02d' %(3,1) #3-01
'%.2f' % 3.1415 #3.14
字串可以用 + 連線
用 * 用來重複字串 3 * 'a' #aaa
print('a' 'b') #ab 這樣a和b會自動連線起來,少寫個 +
word = 'python'
print(word[0]) #p
print(word[-1]) #n 倒數第乙個
word[0:2] #py
word[2:5] #tho
word[:2] #py
word[4:] #on
word[-2:] #word[-2] + word[-1] on
字串有不可變性 word[0] = 'a' 會報錯
3.list
x = [1, 2, 3, 4]
和字串一樣index用起來比較方便
x[0] #1
x[1:2] #[2, 3]
x[-2:] #[3, 4]
y = [4, 5, 6, 7]
x + y #[1, 2, 3, 4, 5, 6, 7] 集合的並操作
tuple
與list型別,但其中的元素不可變
4.分片
有點matlab的感覺
l = [1,2,3]
l[0:2] l[0] l[1]
l[1:] #l[1] 到最後乙個元素 或者寫成l[1:-1]
l[-1] 最後乙個元素
l[:10:2] #前10個數,每兩個取乙個 [0,2,4,6,8]
5.map() & reduce()
map(func, [1,2,3])
將[1,2,3]中每個元素作為引數執行一次func
reduce(func, [1,2,3])
func(func(1,2),3)
練習解答
輸入:['adam', 'lisa', 'bart']
,輸出:['adam', 'lisa', 'bart']
:
defnormalize(name):
first =name[0].upper()
for i in name[1:]:
first = first +i.lower()
return
first
l1 = ['
adam
', '
lisa
', '
bart']
l2 =list(map(normalize, l1))
print(l2)
6. filter()
filter(func,[1,2,3,4])
和map類似,以每個元素為引數呼叫func,返回為ture的保留,否則丟棄
sorted([2,3,4,5,6,7],key = comparer, reverse = false)
傳乙個比較方法即可快速實現排序
參考鏈結
字串和編碼-廖雪峰的官方**
Python python 爬蟲學習
response requests.get response.content.decode utf 8 返回bytes型別 decode解碼 response.text request.encoding gbk 修改編碼 返回str型別 獲取 狀態碼 response.status code 響應頭...
Python Python基礎學習筆記
最近對python比較感興趣,就去學習了一下,發現跟c 包括c都有很多相似的地方,但是也有一些不一樣的地方,python語言真的是非常的簡潔,下面就將我這幾天學習的內容總結一下。隨時擴充 python的應用方向也非常的廣泛,包括資料分析方向的資料建模 資料探勘 資料視覺化 商業分析,資料採集方面的網...
csv在python Python學習csv的使用
encoding utf8 csv的使用 import csv document sample.csv 定義好頭部 headers class name height year 定義好每行的內容 rows 1,xiaoming male 168,23 1,xiaohong female 162,22...