[Day_4]Python 字串(1)

字串

在Python里扮演很重要的角色,
使用**单引号「'」与双引号「"」**所包含的文字,
都会被视为字串,
字串内可以储存Unicode编码的文字,
我们这边来看个例子 :

a_1 = '今天"是铁人赛"第四天'
print(a_1) # 今天"是铁人赛"第四天
a_2 = "今天'是铁人赛'第四天"
print(a_2) # 今天'是铁人赛'第四天

使用连续三个单引号「'」或双引号「"」,
可以用於显示多行文字
且每行前面的空白也会正常显示,
换行字元也会保留,
我们这边来看个例子 :

#输入
a_1 = '''  今天是铁人赛,
  的第四天喔喔 !
  '''
print(a_1)
#输出
  今天是铁人赛,
  的第四天喔喔 !

字串运算子

字串运算子主要用於处理字串:

运算子 说明
a + b 串接字串,可以将a和b两个字串合并成一个字串
a * b 复制字串,复制b份字串接在原本a字串後面
a [ b ] 取出字串元素,取出a字串里的第b个元素
[ 开始:结束:间隔 ] 切割元素( 详见下方 )

我们这边来看个例子 :

a_1 = '01234'
a_2 = '56789'
a_3 = a_1 + a_2
pritn(a_3) # 0123456789
a_4 = a_1 * 2
print(a_4) # 0123401234
print(a_1[0]) # 0
print(a_1[1]) # 1
print(a_1[-1]) #4
print(a_1[-2]) #3

说到了这边可能会有人不懂,
为何a_1[0]取出的第0个元素是「0」,
这就要说到元素个数的编号了,
假设有个字串 「a = '12345'」如下,

a = '12345'

1 2 3 4 5
[ 0 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ]
[ -5 ] [ -4 ] [ -3 ] [ -2 ] [ -1 ]

从表中可以看到,
字串的元素是从0开始递增,
故a[0] = 1 ,
而倒过来则是从-1开始递减,
故a[-1] = 4。

切割字串

有了上面元素号码的概念,
这边要来介绍切割字串的概念,
[ 开始:结束:间隔 ],
从「开始」到「结束」( 不包含结束的字元 )
每隔「间隔」个字元取一个字元出来。

  • a[ : ] 表示字串a的每一个元素
  • a[开始: ] 表示取出字串a[开始]到字串a结束的所有元素
  • a[ :结束] 表示取出字串a[0]到a[结束]所指定元素的前一个元素为止的所有元素
  • a[开始:结束] 表示取出字串a[开始]到a[结束]所指定元素的前一个元素为止的所有元素
  • a[开始:结束:间隔]表 示取出字串a[开始]到a[结束]所指定元素的前一个元素为止的所有元素中,每隔「间隔」元素取一个元素
  • a[::-1] 表示反转字串,第一个元素与最後一个元素交换,第二个元素与倒数第二个元素交换,以此类推
    我们这边来看个例子 :
# 输入 
# 可以先自己先手写看看输出再去对答案喔 !
a='0123456789'
print('a =',a)
print('a[:] =',a[:])
print('a[3:] =',a[3:])
print('a[-5:] =',a[-5:])
print('a[:3] =',a[:3])
print('a[:-5] =',a[:-5])
print('a[4:9] =',a[4:9])
print('a[-5:-1] =',a[-5:-1])
print('a[1:10:3] =',a[1:10:3])
print('a[::-1] =',a[::-1])
print('a[-1::-1] =',a[-1::-1])

大家可以先试着写看看输出会是甚麽,
再来看下面的解答喔

# 输出
a = 0123456789
a[:] = 0123456789
a[3:] = 3456789
a[-5:] = 56789
a[:3] = 012
a[:-5] = 01234
a[4:9] = 45678
a[-5:-1] = 5678
a[1:10:3] = 147
a[::-1] = 9876543210
a[-1::-1] = 9876543210

如果上述的例子都对了,
代表你理解的很透彻喔,
如果有错的朋友记得回去看切割字串的讲解喔 !
今天的教室就到这边告一段落了,
明天会讲解常用的字串内建函式,
大家也要继续加油喔~~~
/images/emoticon/emoticon08.gif


<<:  大共享时代系列_002_共享美食资讯

>>:  day3 让我看看,什麽是Coroutine Scope

【Day 02】从零开始的 Line Chatbot 系统-序章 Part 2

认识一些软件开发的专业术语 在做软件专案的时候,常常会看到一些英文简写,像是 Day 01 讲到的 ...

[Tableau Public] day 26:台湾姓氏分布分析-4

今天我们来做各姓氏人口数分布地图,新增一张工作表名称为「107年6月_台湾各姓氏人口数分布地图(预设...

EP 03 - Hash ID 计算

Youtube 频道:https://www.youtube.com/c/kaochenlong ...

[Day3] 经典时间序列预测方法盘点

第一篇记录了时间序列属性,将趋势、季节性等元素拆解、分别画出图表; 第二篇则介绍时间序列转换方法,透...

【心得】你今天种菜了吗? grid之路-grid的使用(6)

画栏位线条时我们都要计算要画几条线以及每一格的大小,以便接下来完美的将物件填入格子里 像是: gri...