8. 字符串详解

更新於 發佈於 閱讀時間約 18 分鐘

Hi, 大家好。我是茶桁。

前几节课中我们学习了函数,那么这节课开始,我们花几节课返过头来详细的学习一下Python内的数据类型。第一节课,让我们先从字符串开始:

raw-image
  • 回顾字符串的定义方式
  • 了解转义字符
  • 字符串格式化的方法
  • 字符串相关函数

字符串的定义方式

  1. 单引号定义字符串 ‘ ’
  2. 双引号定义字符串“ ”
  3. 三引号定义字符串‘’‘内容’‘’或者“”“内容”“”
  4. 字符串定义时,引号可以互相嵌套

转义字符

一个普通的字符出现在转义符\的后面时,实现了另外一种意义。

  • \ 转义符,续行符。

作为转义符时,在\后面出现的字符可能会实现另外一种意义。

作为续行符时,在行尾使用了\后,可以换行继续书写内容。

str = '123'\
'456'
print(str)

---
123456

打印结果看,并未换行,说明续行符起作用了。

  • \n 代表一个换行符
str = "岁月是一把杀猪刀, \n但是它拿长得丑的人一点办法都没有。"
print(str)

---
岁月是一把杀猪刀,
但是它拿长得丑的人一点办法都没有。

 

  • \r代表光标位置(从\r出现的位置开始作为光标的起点)
str = "岁月是一把杀猪刀, \r但是它拿长得丑的人一点办法都没有。"
print(str)

---
但是它拿长得丑的人一点办法都没有。

 

  • \t代表一个水平制表符(table 缩进)
str = "岁月是一把杀猪刀\t但是它拿长得丑的人一点办法都没有。"
print(str)

---
岁月是一把杀猪刀 但是它拿长得丑的人一点办法都没有。

 

  • \b 代表一个退格符
str = "岁月是一把杀猪刀\b但是它拿长得丑的人一点办法都没有。"
print(str)

---
岁月是一把杀猪但是它拿长得丑的人一点办法都没有。

注意看,并不是毫无改变的打印出来了,整句话中\b前面的这个字被退格了。

  • \\ 反转义\,输出了\,取消\的转义效果
str = "岁月是一把杀猪刀\\n但是它拿长得丑的人一点办法都没有。"
print(str)

---
岁月是一把杀猪刀\n但是它拿长得丑的人一点办法都没有。

第二个\被前面的\转义了,所以n就不会再被转义,也就没有换行。

  • r, 如果我们想把转义字符也作为普通字符输出,那我们可以在字符串的最前面加上r
str = r"岁月是一把杀猪刀\n但是它拿长得丑的人一点办法都没有。"
print(str)

---
岁月是一把杀猪刀\n但是它拿长得丑的人一点办法都没有。

字符串内的转移字符\n被打印了出来。

字符串相关的操作

  • 字符串+操作, 将参与运算的字符串相加后组成一个新的字符串。
str="君不见,黄河之水天上来,奔流到海不复回。"
str2 = "君不见,高堂明镜悲白发,朝如青丝暮成雪。"
res = '将进酒\n'+ str + '\n' + str2
print(res)

---
将进酒
君不见,黄河之水天上来,奔流到海不复回。
君不见,高堂明镜悲白发,朝如青丝暮成雪。

 

  • 字符串*操作,str*n就是 将当前字符串重复n
str = '重要的话说三遍\n' * 3
print(str)

---
重要的话说三遍
重要的话说三遍
重要的话说三遍

 

  • 字符串[]切片操作

字符串的索引操作,字符串中只能使用[]下标访问,不能修改。

str[start:stop:step]
功能,获取str的特定下标或者对str进行切片操作
参数:
start: 可选,开始值,默认为0
stop: 可选,结束值,默认为len(str)
step:可选,步进值,默认为1

因为所有参数都是可选项,所以其实我们可以什么参数都不给,直接使用默认值:

str = '凡诗之所谓风者,多出于里巷歌谣之作,所谓男女相与咏歌,各言其情者也。'
print(str)
# 等同于
print(str[::])

---
凡诗之所谓风者,多出于里巷歌谣之作,所谓男女相与咏歌,各言其情者也。
凡诗之所谓风者,多出于里巷歌谣之作,所谓男女相与咏歌,各言其情者也。

当我们写一个值,那就是获取指定下标的元素:

print(str[6])

---

但是当我们只写一个值,并且后面跟上符号::, 那含义就是从start开始,向后取完:

print(str[6::])

---
者,多出于里巷歌谣之作,所谓男女相与咏歌,各言其情者也。

从这我们可以看出来,当我们只写一个单独的值而没有加::的时候,含义就是从start开始,但是并不向后继续取值,而有了::就是继续向后取值。其实,只写一个:也是一样的,因为只要知道向后取值,step默认值就是为1:

print(str[6:])

---
者,多出于里巷歌谣之作,所谓男女相与咏歌,各言其情者也。

那如果我们在这个基础上加上一个值,那就是从start开始直到stop之前。和range()一样,取不到stop

print(str[2:6])

---
之所谓风

然后再多加一个值,和range()一样,就是往后数step个数再取值:

print(str[2:15:2])

---
之谓者多于巷谣

其实,这里比较饶的并不是如何取值,二是::这两个符号。当我们将上面讲的这些内容了解通透后,就可以玩转字符串的切片了。

那对应的,如果我们想将字符串完全取值,但是是隔一个取一个,那我们就可以使用startstop的默认值,而只定义step

print(str[::2])

---
凡之谓者多于巷谣作所男相咏,言情也

那如果我们想让整个字符串倒过来呢?

print(str[::-1])

---
。也者情其言各,歌咏与相女男谓所,作之谣歌巷里于出多,者风谓所之诗凡

字符串的格式化方法

常用的字符串的格式化方法就是format()

先让我们看看最普通的方式:

s = '茶桁'
str = '乘舟将欲行,忽闻岸上踏歌声。'

我定义了这两个字符串,现在我想将两段字符串合在一起变成一句“茶桁乘舟将欲行,忽闻岸上踏歌声。”(嗯,权吾乃青蓮居士。)

很多小伙伴是不是觉得太简单了,我们之前学了+号,直接拼接不就好了。自然也是可以的,只是我们现在要用更普遍和便捷的方式来完成:

s = '茶桁'
str = '{}乘舟将欲行,忽闻岸上踏歌声。'.format(s)
print(str)

---
茶桁乘舟将欲行,忽闻岸上踏歌声。

假如说,我们现在只有诗词的大半句,其中少了踏歌行这三个字,那我们又该如何?那我们就往format中传入两个参数,后面那个参数自定义出这三个字符就可以了:

s = '茶桁'
str = '{}乘舟将欲行,忽闻岸上{}。'.format(s, "踏歌行")
print(str)

---
茶桁乘舟将欲行,忽闻岸上踏歌行。

看到这里,我们是不是认为字符串使用format就只能顺序传值?第一个答案填入第一个空,第二个答案填入第二个空... 其实不只是如此,字符串后使用format,其中的{}还可以接受索引传参:

s = '茶桁'
str = '{1}乘舟将欲行,忽闻岸上{0}。'.format("踏歌行", s)
print(str)

---
茶桁乘舟将欲行,忽闻岸上踏歌行。

通过索引传参的适用范围毕竟还是有限,我们很容易一不小心就会把参数顺序搞乱。那还有没有其他办法呢?

我们还可以通过关键字传参:

str = '{s2}乘舟将欲行,忽闻岸上{s1}。'.format(s1 = "踏歌行", s2 = "茶桁")
print(str)

---
茶桁乘舟将欲行,忽闻岸上踏歌行。

那假如说我们得到的是一个列表数据,是否需要先转换数据?其实也没必要,format支持对容器型数据的传参数:

str = '豪放派:{0[0]},婉约派:{0[1]},流氓派:{0[3]},蛋黄派:{0[2]}'.format(['李白','辛弃疾','达利园','茶桁'])
print(str)

---
豪放派:李白,婉约派:辛弃疾,流氓派:茶桁,蛋黄派:达利园

那么如果是字典类型的呢?那就更简单了,我们之前提到的关键字传参,不就正好对应字典吗?

dict = {'a':'茶桁', 'b':'蛋黄派'}
str = '{a}乘舟将欲行,忽闻岸上{b}'.format(**dict)
print(str)

---
茶桁乘舟将欲行,忽闻岸上蛋黄派

嗯,不错。似乎我们创建了一句新的诗句。

其实,format还有其他的用法,就是直接用关键字f, 比如:

str = f'{dict["a"]}乘舟将欲行,忽闻岸上{dict["b"]}'
print(str)

---
茶桁乘舟将欲行,忽闻岸上蛋黄派

f是在3.7版本中新增的格式化方法,在使用的过程中,要注意字符串符号“”‘’的嵌套关系。

在基本使用之外,我们还有一些风骚的特殊用法,比如,我们可以用format直接限定小数的位数:

str = '圆周率是多少:{:.5f}'.format(3.1415926)
print(str)

---
圆周率是多少:3.14159

字符串相关函数

在Python中,字符串应该是最常见的数据类型,对应字符串的函数也有不少。大家可以去看看官方的文档

英文字符与字符检测相关函数

我们可以返回字符串的副本,并且将首字母大写,其余小写:

str = 'I am a data product manager'
str.capitalize()

---
'I am a data product manager'

 

因为我在使用Jupyter Notebook,所以即便我么有使用print,依然可以打印出执行结果。只是仅可以打印最后一个执行的函数。

可以把字符串中的一个单词的首字母大写:

str.title()

---
'I Am A Data Product Manager'

可以全部改为大写:

str.upper()

---
'I AM A DATA PRODUCT MANAGER'

把字符串全部改为小写

str.lower()

---
'i am a data product manager'

字符串中的大小写字符转换,大写转小写,小写转大写:

str.swapcase()

---
'i AM A DATA PRODUCT MANAGER'

检测字符是否包含在字符串内:

print('o' in 'love')

---
True

检测字符串是否为全部大写字母组成

str.isupper()

---
False

检测字符串是否为全部小写字母组成

str.islower()

---
False

检测字符串是否符合标题title的要求

str.istitle()

---
False

检测字符串是否由数字和字母组成,如果字符串中包含来非数字字母的其它字符,则返回False

str.isalnum()

---
False

检测字符串是否全部由字符(包含英文字符和中文)组成

str.isalpha()

---
False

检测字符串是否由纯数字字符组成

'123'.isdigit()

---
True

检测当前字符串是否为 空格 字符组成 ' ’

' '.isspace()

---
True

检测字符串是否以指定的字符开始的,也可以指定开始和结束的位置

str.startswith('I')

---
True

 

str.startswith('a', 5)

---
True

检测字符串是否以 指定的字符 结束的,也可以指定开始和结束的位置

print(str.endswith('a'))
print(str.endswith('a', 5, 11))
print(str.endswith('a', 1, 6))

---
False
True
True

字符串的查找和操作相关函数(✨ 重点)

前面铺垫了那么多之后,接下来这部分,才是这一节的重点。

让我们先从查找来看:

str.find(sub[, start[, end]])

find会返回一个子字符串,找到字符中符合条件的第一个字符出现的索引位置,未找到则返回-1

str = "I am a data product manager."
print(str.find('am'))

---
2

让我们用切片的方式反过来找一下看看:

res = str.find('am')
str[res:res+2]

---
'am'

我们从之前可以知道res取值为2,现在等于是str[2:4], 正好是am所在的位置。

find中有startend,是支持切片查找的:

print(str.find('am', 0, 4))
print(str.find('am', 4, 10))

---
2
-1

可以看到,在从4开始找到10的时候找不到amfind有一个功能相同,但是方向不同的方法rfind(), 和find的不同点只是,rfind是从后往前找的。

str.index(sub[, start[, end]])

类似于find(), 但在找不到子字符串的时候会引发ValueError

str.index('python')

---
ValueError: substring not found

str.count(sub[, start[, end]])

这个函数会在字符串中去查找sub在其中[start, end]范围内非重叠出现的次数。

print(str.count('a'))
print(str.count('a', 5, 12))

---
6
3

接下来让我们看看字符串操作相关的函数:

str.split(sep=None, maxsplit=-1)

这个方法可以按照指定的分隔符(sep),把字符串分隔成列表。

str = 'user_admin_id_123'
str.split('_')

---
['user', 'admin', 'id', '123']

整个方法里的maxsplit是进行多少次拆分,比如1为一次拆分,也就是会返回2个元素。默认值为-1,意思是不限制拆分次数。

str.split('_', 1)

---
['user', 'admin_id_123']

str.rsplit(sep=None, maxsplit=-1)

split方法相似,只是方向不同。这个是从后向前获取。

str.rsplit('_')

---
['user', 'admin', 'id', '123']

这段代码可以看到功能上是完全一样的,如果我们把maxsplit加进去,就能看到方向上的不同:

str.rsplit('_', 1)

---
['user_admin_id', '123']

这样就能清晰看到,rsplit是从后面开始拆分的。

str.join(iterable)

join的功能和split可以看成是相反的,是使用指定的字符串,把一个容器中的元素连接成一整个字符串

str = ['user', 'admin', 'id', '123']
'_'.join(str)

---
'user_admin_id_123'

str.strip([chars])

去除字符串左右两侧的指定字符, chars参数为置顶要溢出字符的字符串,默认移除空白符。

str = ' chaheng '
str.strip(' ')

---
'chaheng'

这个函数有两个伴生函数,一个是rstrip, 从方法名应该能猜的出来,这是去掉字符串右侧的指定字符,另一个是lstrip, 这是去除左侧的指定字符。

str.rstrip(' ')
str.lstrip(' ')

---
' chaheng'
'chaheng '

len()函数可以获取当前字符串的长度

len(str)

---
9

str.replace(old, new[, count])

可以替换对应的字符串,将old都替称为newcount则是替换次数。比如一个字符串内出现了十次old, 我``count给的5, 则只替换前5次出现的old`字符串。

str = 'abcabcabcabcabcabc'
str.replace('a', 'e')
str.replace('a', 'e', 2)

---
'ebcebcebcebcebcebc'
'ebcebcabcabcabcabc'

可以注意一下两次打印的区别。

这次就不留练习题了,字符串的查询和操作函数属于重中之重,大家最好是多去练习几遍,将其中的方法记会杯熟。

好,今天就到这里。咱们下节课再见。

avatar-img
9會員
62內容數
从基础开始,再到Python,然后是CV、BI、NLP等相关技术。从头到尾详细的教授一边人工智能。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
茶桁的沙龍 的其他內容
Hi,大家好。我是茶桁。 讲完了基础函数和高阶函数之后,我们这一节来研究下Python的内置函数,看看Python在安装完毕之后的解释器里,到底都预先给我们提供好了哪些可用的函数。 本节内容着重介绍一些常用函数,并且会做一些应用上的示例。当然,对于Python的内置函数,我们还可以查询官方文档,
Hi,大家好。 我是茶桁。 本节课,我们来学习一下Python中的「高阶函数」。 让我们先来了解一下,什么是递归函数。 递归函数就是定义一个函数,然后在此函数内,自己调用自己。 既然是自己调用自己,那这个函数必须要有一个结束才行,否则会一直重复的调用下去,直到调用层数越来越多,最
HI, 大家好。我是茶桁。 上一节中我们学习了Python基本的流程控制,并且预告了这一节的内容,就是将要学习「模块化编程」。那什么是模块化编程呢?按照维基百科的说法: 模块化编程(英语:modular programming),是强调将计算机程序的功能分离成独立的、可相互改变的“模块)”(mo
Hi,大家好。我是茶桁。 在前面几节课的基础之上,我们今天开始尝试在Python中控制流程。这中间,让我们来做一些实际的练习。 Python语句的分类 让我们先了解一下Python语句的分类。 在Python中,可分为单行代码和代码块/组, 顾名思义,单行代码就是一行的Python代码,而代
Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。 Hi, 大家好,我是茶桁。 之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。 在开始这节课之前呢,我是默认大家已经安装好
千里之行始于足下。 大家好,我是茶桁,这里是我们《AI秘籍》的第一节,让我们先从Python来开始好好的打好基础。 第一堂课,我们先从最基础的Python特性开始,当然,还有一些基本语法。 上来就开始讲特性和语法,说明我们将会遗弃惯用的“环境搭建”等更基础的内容,那些内容网上已经很丰富了,一查
Hi,大家好。我是茶桁。 讲完了基础函数和高阶函数之后,我们这一节来研究下Python的内置函数,看看Python在安装完毕之后的解释器里,到底都预先给我们提供好了哪些可用的函数。 本节内容着重介绍一些常用函数,并且会做一些应用上的示例。当然,对于Python的内置函数,我们还可以查询官方文档,
Hi,大家好。 我是茶桁。 本节课,我们来学习一下Python中的「高阶函数」。 让我们先来了解一下,什么是递归函数。 递归函数就是定义一个函数,然后在此函数内,自己调用自己。 既然是自己调用自己,那这个函数必须要有一个结束才行,否则会一直重复的调用下去,直到调用层数越来越多,最
HI, 大家好。我是茶桁。 上一节中我们学习了Python基本的流程控制,并且预告了这一节的内容,就是将要学习「模块化编程」。那什么是模块化编程呢?按照维基百科的说法: 模块化编程(英语:modular programming),是强调将计算机程序的功能分离成独立的、可相互改变的“模块)”(mo
Hi,大家好。我是茶桁。 在前面几节课的基础之上,我们今天开始尝试在Python中控制流程。这中间,让我们来做一些实际的练习。 Python语句的分类 让我们先了解一下Python语句的分类。 在Python中,可分为单行代码和代码块/组, 顾名思义,单行代码就是一行的Python代码,而代
Python的系列课程是写给零基础的小白看的,如果基础比较好的小伙伴可以暂时先不关注,等待后续课程。 Hi, 大家好,我是茶桁。 之前的课程已经给大家讲解了Python相关特性和基本语法。那么这节课呢,我们尝试着从最简单的脚本来开始认识Python。 在开始这节课之前呢,我是默认大家已经安装好
千里之行始于足下。 大家好,我是茶桁,这里是我们《AI秘籍》的第一节,让我们先从Python来开始好好的打好基础。 第一堂课,我们先从最基础的Python特性开始,当然,还有一些基本语法。 上来就开始讲特性和语法,说明我们将会遗弃惯用的“环境搭建”等更基础的内容,那些内容网上已经很丰富了,一查
你可能也想看
Google News 追蹤
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
Thumbnail
今天要來介紹的是Python中資料型別的函數, 這幾天學習的素材是Youtube上“程式柴大大的Python 6 小時初學者課程”,一步一步帶著大家操作並解,學習中也別忘了要多多練習,練習的部分我是把我學到的東西請Chatgpt幫我出類似的題型並讓我練習。 以下我先寫出一個簡單的code,再加以
在Python中, 要寫一個完整的「符元化類 Tokenizer Class」, 這個Class需要的功能有: 1.「編碼 Encode」:將「文本 Text」分割成「符元 Token」。 2.「詞彙 Vocabulary」:將「符元 Token」映射到「符元ID TokenID
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
f字符串(f-string)在Python 3.6版本引入了新特性,可以更方便地格式化字符串。本文介紹了f-string的基本使用方法,以及表達式、運算符、格式化控制、字典和列表的應用,以及調用方法和函數等。f-string提供了一種更靈活的方式,使你能夠控制字符串的外觀,以滿足不同情況下的需求。
Thumbnail
在實務上,條碼槍傳送的資訊可能包含不可見字符或控制字符。這可能是因為條碼槍在傳送條碼數據時使用了一些特殊字符,這些字符在可見字符集合之外,例如 \x06 就是 ASCII 中的 "ACK" 控制字符。 本文將探討,如何查詢及處理這些特殊字符。
Thumbnail
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
Thumbnail
本文介紹了串列運算式的應用,以及與Lambda匿名函式方法的比較,並提供了程式範例。串列運算式提供了一種簡潔的語法,用於創建、轉換和過濾列表。lambda函式用於創建匿名函式,通常用於簡單的操作。建議在比較複雜的情況下使用一般for迴圈加if來表示。
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
Thumbnail
今天要來介紹的是Python中資料型別的函數, 這幾天學習的素材是Youtube上“程式柴大大的Python 6 小時初學者課程”,一步一步帶著大家操作並解,學習中也別忘了要多多練習,練習的部分我是把我學到的東西請Chatgpt幫我出類似的題型並讓我練習。 以下我先寫出一個簡單的code,再加以
在Python中, 要寫一個完整的「符元化類 Tokenizer Class」, 這個Class需要的功能有: 1.「編碼 Encode」:將「文本 Text」分割成「符元 Token」。 2.「詞彙 Vocabulary」:將「符元 Token」映射到「符元ID TokenID
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
f字符串(f-string)在Python 3.6版本引入了新特性,可以更方便地格式化字符串。本文介紹了f-string的基本使用方法,以及表達式、運算符、格式化控制、字典和列表的應用,以及調用方法和函數等。f-string提供了一種更靈活的方式,使你能夠控制字符串的外觀,以滿足不同情況下的需求。
Thumbnail
在實務上,條碼槍傳送的資訊可能包含不可見字符或控制字符。這可能是因為條碼槍在傳送條碼數據時使用了一些特殊字符,這些字符在可見字符集合之外,例如 \x06 就是 ASCII 中的 "ACK" 控制字符。 本文將探討,如何查詢及處理這些特殊字符。
Thumbnail
題目敘述 題目會給定我們一個字串s,和一組字庫wordDict。 問我們能不能透過字串串接的方式,從字庫裡面的字拼成原本的字串s? 可以的話,返回True。 無解的話,返回False。 註: 題目還允許重複使用字庫裡面的字去串接。
Thumbnail
本文介紹了串列運算式的應用,以及與Lambda匿名函式方法的比較,並提供了程式範例。串列運算式提供了一種簡潔的語法,用於創建、轉換和過濾列表。lambda函式用於創建匿名函式,通常用於簡單的操作。建議在比較複雜的情況下使用一般for迴圈加if來表示。