1. 程式人生 > >三元表達式、bytes、bytearrar類型以及切片等

三元表達式、bytes、bytearrar類型以及切片等

art rom from 修改 ensp now() 可變 asc sta

三元表達式(if 和 else 必須同時出現)
if i == j:
endchar = ‘\n‘
else:
endchar = ‘ ‘
    v

char =‘\n‘ if i ==j else ‘‘ #三元表達式(真寫前面,假寫後面)



時間測試:
start = datetime.datetime.now()
delta = (datetime.datetime.now()-start).total_seconds()


Python3.6引入新類型:


bytes、bytearray(可變類型)

s1.encode() #str => bytes(不可變類型)
b = b‘xyz‘ #bytes定義
b.decode() #bytes => str

bytes([97,98])
打印:
b‘ab‘

bytes([0x61],[0x62])
打印:
b‘ab‘

bytes.fromhex(‘61 62 63‘)
打印:
b‘abc‘

b8 = bytes.fromhex(‘61 62 63‘)
b8.hex()
打印
‘616263’



**ASC||熟記:
\t:9
\r:13
\n:10
0~9:48 30

A~Z:65 41
a~z 97 61



線性結構:
可叠代for..in
len()
通過下標可以訪問
**可以切片

切片
sequence[start:stop] 有點像range(),前包後不包
可以超界,必須同向

例:
‘abcdef‘[1:] #copy,只能從左往右切,不能反
打印:
‘bcdef‘

b‘abcdef‘[1:4:2]
打印
b‘bd‘

l1 = [97,98,99,100]
l1[1:2] = (4,5,6)
l1打印:
l1 = [87,4,5,6,98,99,100]
替換修改,操作需小心

三元表達式、bytes、bytearrar類型以及切片等