python3 資料型別
基本資料型別
python3中 Number 只有 int 和 float(預設就是雙精度)
/ 除法 2/2 float = 1.0
// 整除 2//2 int = 1
bool 一切非0都是真
一切空值都是False
None是False
各進位制的表示與轉換
二進位制:0b10 0b11…
八進位制:0o
十六進位制:0x
任意數字轉換
二進位制 bin()
十進位制 int()
十六進位制 hex()
八進位制 oct()
python中的單引號和雙引號以及三引號
” “” ”’ ”’ “”” “””
三引號可以換行
python裡的轉義字元
特殊的字元
無法看見的字元
與語言本身語法有衝突的字元
\n 換行
\’ 單引號
\t 橫向製表符
\r 回車
原始字串
print(r’sdsdd\n’) >>> sdsdd\n
當一個字串前面加上r 那麼這個字串就是原始字串 不會轉義
字串運算
+號 連線
“hello”+”world” >>>’helloworld’
“hello”*3 >>>’hellohellohello’
“hello world”[0] >>> ‘h’ 很牛掰
“hello world”[3] >>> ‘l’ 很牛掰
“hello world”[-3] >>>’r’
>>>"hello world"[6] //[正數]代表字串的序號 從0開始
'w'
>>>"hello world"[-5] //[負數] 從字串的末尾往回數5位
'w'
>>>"hello world"[0:4] //左包右不包
'hell'
>>> "hello world"[0:-1] //負數代表步長 從字串的末尾往回數1位
'hello worl'
>>> "hello world"[0:-3]
'hello wo'
>>> "hello world"[6:11]
'world'
>>> "hello world"[6:] //擷取從第六個開始到末尾
'world'
>>> "hello python java c# javascript ruby"[6:]
'python java c# javascript ruby'
>>> "hello python java c# javascript ruby"[:-4]
'hello python java c# javascript '
>>> "hello python java c# javascript ruby"[-4:]
'ruby'
列表的定義
列表裡什麼都能放
list
>>> [1,2,3,4,5,6]
[1, 2, 3, 4, 5, 6]
>>> type([1,2,3,4,5,6])
<class 'list'>
>>> ["hello","world",1,9]
['hello', 'world', 1, 9]
>>> ["hello",1,9,True,False]
['hello', 1, 9, True, False]
>>> [[1,2],[3,4],[True,False]]
[[1, 2], [3, 4], [True, False]] //巢狀列表
>>> type([[1,2],[3,4],[True,False]])
<class 'list'>
>>> ["心悅打擊","蒼白智跑","精練志活"][2]
'精練志活'
>>> ["心悅打擊","蒼白智跑","精練志活"][0][2]
'打'
>>> ["心悅打擊","蒼白智跑","精練志活"][0:2]
['心悅打擊', '蒼白智跑']
>>> ["心悅打擊","蒼白智跑","精練志活"][-1:]
['精練志活']
>>> ["心悅打擊","蒼白智跑","精練志活"]+['點燃','虛弱']
['心悅打擊', '蒼白智跑', '精練志活', '點燃', '虛弱']
>>> ["心悅打擊","蒼白智跑","精練志活"]*2
['心悅打擊', '蒼白智跑', '精練志活', '心悅打擊', '蒼白智跑', '精練志活']
元組
tuple
>>> (1,2,3)
(1, 2, 3)
>>> (1,'-1',True)
(1, '-1', True)
>>> (1,2,3,4)[0]
1
>>> (1,2,3,4)[0:2]
(1, 2)
>>> (1,2,3)*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> type((1,2,3))
<class 'tuple'>
>>> type((1)) // ()裡只有一個元素 就當做()運算了
<class 'int'>
>>> type((1,))
<class 'tuple'>
list str tulpe 都是序列
序列裡的每一個元素都有順序和序號
切片 [0:] [:-5] 類似這種
+ *
>>> 3 in [1,2,3,4,5] //判斷元素是否在列表中
True
>>> 3 not in[1,2,3,4,5] //判斷元素是否不在這個列表中
False
>>> len([1,2,6,4,5,6])
6
>>> len("hellworld")
9
>>> max([1,2,3,4,5,6])
6
>>> min([1,2,3,4,5,6])
1
>>> max('hello world')
'w'
>>> ord('w') 阿斯克碼~
119
集合 set
集合是無序的,沒有下標索引
集合的特色就是 - 差集 &交集 | 並集
>>> type({1,2,3,4})
<class 'set'>
>>> {1,1,2,2,3,3,4,4} //集合不重複
{1, 2, 3, 4}
>>> len({1,2,3})
3
>>> 1 in {1,2,3}
True
>>> 1 not in {1,2,3,4}
False
>>> {1,2,3,4,5,6}-{4,5} //求兩個集合的差集
{1, 2, 3, 6}
>>> {1,2,3,4,5,6} & {3,4} //求兩個集合的交集
{3, 4}
>>> {1,2,3,4,5,6} | {3,4,7} //求兩個集合的並集
{1, 2, 3, 4, 5, 6, 7}
dict字典
空的{}表示字典 不表示集合
key:必須是不可變的型別 int str
字典由很多個key value 組合而成 字典不是序列 字典也是集合
>>> {'Q':'心悅打擊','W':'蒼白質樸','E':'也只降臨','R':'月神衝刺'}['Q']
'心悅打擊'
>>> {'Q':'心悅打擊','W':'蒼白質樸','E':'也只降臨','R':'月神衝刺'}['W']
'蒼白質樸'
>>> {'Q':'心悅打擊','Q':'心悅打擊','W':'蒼白質樸','E':'也只降臨','R':'月神衝刺'} //不會重複
{'Q': '心悅打擊', 'W': '蒼白質樸', 'E': '也只降臨', 'R': '月神衝刺'}
>>> {1: '心悅打擊','1': '心悅打擊', 'W': '蒼白質樸', 'E': '也只降臨', 'R': '月神衝刺'}
{1: '心悅打擊', '1': '心悅打擊', 'W': '蒼白質樸', 'E': '也只降臨', 'R': '月神衝刺'}