iT邦幫忙

2024 iThome 鐵人賽

DAY 6
1
自我挑戰組

每日挑戰:從零開始的 Python 學習之旅系列 第 6

【Day 6】基礎語法 - 字串篇

  • 分享至 

  • xImage
  •  

Hi 大家好,

今天要開始介紹基礎語法中的字串篇,那我們開始吧!

在Python中的字串表示方式有下列幾種:

單引號

 引號中的數字會轉型成字串

>>> 'Hello World'
'Hello World'
>>> '8888'
'8888'

雙引號

>>> "Today Is A Beautiful Day"
'Today Is A Beautiful Day'

多行字串

 要使用多行字串必須要加3個成對的單引號雙引號,這種表示方式允許你在字串內包含換行(\n)和其他特殊字符,而不需要使用轉義字符

>>> print('''
... OMG
... OMG
... OMG
... ''')

OMG
OMG
OMG

>>> print("""
... Hi
... How are you today!
... """)

Hi
How are you today!

>>>

其它的基本操作如下:

1. 字串的連接與重複方式

 使用 + 連接字串

>>> "Python" + " is a programming language" + " !! "
'Python is a programming language !! '
>>>    

 使用 * 重複字串

>>> "*" * 10
'**********'
>>> "abc" * 5
'abcabcabcabcabc'
>>>

2. 字串索引: 正向索引和負向索引

在Python中的字串,如果要從字串後開始抓取字元,可以直接使用索引值-1方式來取得

>>> str = "FormattedString"
>>> str[0]
'F'
>>> str[-1]
'g'
>>> str[5]
't'
>>> str[-4]
'r'
>>>

3. 字串切片索引(Slice Indices)

 是指從字串中提取一部分的操作。它的用法和索引值很像都是使用[]的寫法,在括號中使用:來區分三個欄位所代表的意思 [ 起始位置(start) : 停止位置(stop) : 移動距離(step) ]

正向索引切片
>>> text = "Hello, World!"
>>> text[0:5]  # 取前面五個字元
'Hello'
>>> text[7:]   # 從第7個字到字串結束的所有字串
'World!'
>>> text[:5]   # 取從起始到第五個字元之前的所有字串
'Hello'
>>>
負向索引切片
>>> text = "Hello, World!"
>>> text[-1:]   # 負向索引取最後一個字
'!'
>>> text[-6:]   # 取最後六個字
'World!'
>>> text[:-3]   # 從起始索引到倒數第三個字元之前的所有字串
'Hello, Wor'
>>>
加上移動距離進行切片
>>> text[::2]    # 每隔一個字提取一次
'Hlo ol!'
>>> text[::-1]   # 反轉字串
'!dlroW ,olleH'
>>> text[1::2]   # 從索引值 1 開始,每隔一個字提取一次
'el,Wrd'
>>>

4. 格式化字串(Formatted String),F字串(f-strings)

(Python 3.6 之後才有的功能)

基本用法
>>> name = "Alice"
>>> age = 30
>>> f"Hello, {name}! You are {age} years old."
'Hello, Alice! You are 30 years old.'
>>>
嵌入表達式
>>> a = 5
>>> b = 10
>>> f"The sum of {a} and {b} is {a + b}."
'The sum of 5 and 10 is 15.'
>>>
格式化數字
>>> pi = 3.141592653589793
>>> f"Pi rounded to 2 decimal places is {pi:.2f}."
'Pi rounded to 2 decimal places is 3.14.'
>>>

那今天就介紹到這裡,我們明天見~


上一篇
【Day 5】基礎語法 - 數字篇
下一篇
【Day 7】基礎語法 - 串列和元組篇
系列文
每日挑戰:從零開始的 Python 學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言