iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
Software Development

python 自學系列 第 6

python day6 (substring、booleans、None)

  • 分享至 

  • xImage
  •  

substring

從 index 2 的位置取到 index 4 的位置.

>>> 'abcdefg'[2:5]
'cde'

從起始位置 index 0 開始取到 index 4 的位置.

>>> 'abcdefg'[:5]
'abcde'

從 index 3 的字串開始取到最後.

>>> 'abcdefg'[3:]
'defg'

從 index 0 到 6 的字串,每 2 位取一次.

>>> 'abcdefg'[0:7:2]
'aceg'

取得倒數第 2 個字.

>>> 'abcdefg'[-2]
'f'

從倒數第 3 位開始取到最後.

>>> 'abcdefg'[-3:]
'efg'

從 index 1 的位置取到倒數第 4 位.

>>> 'abcdefg'[1:-3]
'bcd'

從倒數第 5 位開始取到倒數第 2 位.

>>> 'abcdefg'[-5:-1]
'cdef'

len

取得字串長度

>>> len('abcdefg')
7

split

用來根據某個字串分割字串

>>> 'item1,item2,item3'.split(',')
['item1', 'item2', 'item3']

>>> 'item1,item2,item3'.split('it')
['', 'em1,', 'em2,', 'em3']

replace

取代字串

>>> 'abcdefg'.replace('bcd','***')
'a***efg'

去掉所有空白

>>> '  hello python wor   ld   '.replace(' ','')
'hellopythonworld'

使用 replace 去掉空白的方法,無法去掉跳脫字元.

>>> s = ' he \t llo \n python'
>>> print(s.replace(' ',''))
he	llo
python

這時候可使用 split 搭配 join 的方式去掉所有空白及跳脫字元.

>>> print(''.join(s.split()))
hellopython

startswith & endswith

判斷開始字串以及結尾字串.

>>> file_name = 'aaa.txt'
>>> file_name.endswith('.txt')
True
>>> file_name.endswith('aaa',0,3)
True
>>> file_name.startswith('aaa',0,3)
True

find

可以用來找 string 裡的字串,返回找到該字串的 index,找不到返回 -1.

>>> file_name.find('.')
3
>>> file_name.find('tx')
4
>>> file_name.find('a')
0
>>> file_name.find('g')
-1

strip

可以用來去除字串前後空白.

>>> '  hello python world   '.strip()
'hello python world'

booleans

boolean 只有兩個值就是 True 跟 False.

>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>

在 python 裡可以自動幫忙將其他型別自動轉成 boolean 值來判斷.
判斷字串是否為空值.

>>> bool('')
False
>>> bool('Hello')
True

int 為 0 代表 False 大於 0 為 True.

>>> bool(0)
False
>>> bool(1)
True
>>> bool(5)
True

浮點數也是 0 為 False 大於 0 為 True.

>>> bool(0.0)
False
>>> bool(0.0001)
True

list 是空的為 False,反之為 True.

>>> bool([1,2,3])
True
>>> bool([])
False

None

None 通常代表該變數還沒有綁定任何型態的值.

>>> print_words = print('Hello World')
Hello World
>>> print(print_words)
None

型態是 NoneType.

>>> type(None)
<class 'NoneType'>

而且 None 是 singleton,代表在環境中只會有一個 None instance.所以用 id 來看記憶體的位址都會是相同的值.

>>> print_words_1 = print('Hi python')
Hi python
>>> id(print_words)
4549804120
>>> id(print_words_1)
4549804120
>>> print_words is print_words_1
True

None 在 boolean 值是 False.

>>> bool(None)
False

上一篇
python day5 (string、dir、help)
下一篇
python day7 (conditionals)
系列文
python 自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言