小甲鱼 发表于 2020-11-20 02:37:45

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

小古比鱼 发表于 2020-11-20 11:58:27

三天前刚花费10鱼币购买了旧版的“字符串的方法及注释”,今天又要花费10鱼币购买新版的“字符串的各种方法大合集”……
这期视频对字符串的各种内置方法(共46个)分门别类进行了讲解,演示了“大小写字母换来换去”和“左中右对齐”两种类别下的相应方法。感觉其中比较有趣的是以德文字母'β'为例,演示了字符串转小写的两个方法lower()和casefold()之间的区别!

痴我一拳 发表于 2021-5-18 21:04:32

x = "12321"
>>> "是回文数" if x == x[::-1] else "不是回文数"
'是回文数'
>>> x = "12345"
>>> "是回文数" if x == x[::-1] else "不是回文数"
'不是回文数'
>>> x = "I love FishC"
>>> x.capitalize()
'I love fishc'
>>> x
'I love FishC'
>>> x.casefold()
'i love fishc'
>>> xx
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
    xx
NameError: name 'xx' is not defined
>>> x
'I love FishC'
>>> x.title()
'I Love Fishc'
>>> x.swapcase()
'i LOVE fISHc'
>>> x.upper()
'I LOVE FISHC'
>>> x.lower()
'i love fishc'
>>> "g".lower()
'g'
>>> "g".casefold()
'g'
>>> 'g'.casefold()
'g'
>>> x = "有内鬼,停止交易!"
>>> x.center(5)
'有内鬼,停止交易!'
>>> x.center(15)
'   有内鬼,停止交易!   '
>>> x.ljust(15)
'有内鬼,停止交易!      '
>>> x.rjust(15)
'      有内鬼,停止交易!'
>>> x.zfill(15)
'000000有内鬼,停止交易!'
>>> "520".zfill(5)
'00520'
>>> "--520".zfill(5)
'--520'
>>> "-520".zfill(5)
'-0520'
>>> x.center(15,"赣")
       
SyntaxError: invalid character ')' (U+FF09)
>>> x.center(15,"赣")
'赣赣赣有内鬼,停止交易!赣赣赣'
>>> x.center(15,"gan")
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
    x.center(15,"gan")
TypeError: The fill character must be exactly one character long
>>> x.ljust(15,"赣")
'有内鬼,停止交易!赣赣赣赣赣赣'
>>> x.rjust(15,"赣")
'赣赣赣赣赣赣有内鬼,停止交易!'
>>>

zdasd 发表于 2021-5-19 10:59:20

**字符串**
字符串是不可变的对象。
在18讲的一道动动手大题(判断一个整数是否为回文数),用字符串一句话就能解决

>>> x = "12321"
>>> "是回文数" if x == x[::-1] else "不是回文数"
'是回文数'
>>> x = "12345"
>>> "是回文数" if x == x[::-1] else "不是回文数"
'不是回文数'

字符串一共有46个方法。

[大小写字母换来换去:capitlize() casefold() title() swapcase() upper() lower()]

capitlize():返回一个首字母大写版本的新字符串(新字符串的首字母变为大写,其它字母变为小写)

>>> x = "I Love FishC"
>>> x.capitalize()
'I love fishc'

casefold():返回一个小写版本的新字符串(新字符串的所有字母变为小写)

>>> x.casefold()
'i love fishc'

title():返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。

>>> x.title()
'I Love Fishc'

swapcase():返回一个大小写字母翻转的新字符串

>>> x.swapcase()
'i lOVE fISHc'

upper():返回一个所有英文字母都转换成大写后的新字符串

>>> x.upper()
'I LOVE FISHC'

lower():返回一个所有英文字母都转换成小写后的新字符串

>>> x.lower()
'i love fishc'

根据官方文档的提示,lower()只能处理英文字母,而casefold()除了可以处理英语之外,还可以处理更多其它语言的字符,比如德语:

>>> 'ß'.lower()
'ß'
>>> 'ß'.casefold()
'ss'

[左中右对齐:center(width,fillchar=' ')ljust(width,fillchar=' ')   rjust(width,fillchar=' ')   zfill(width)]

center(width,fillchar=' '):返回一个字符居中的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符居中,左右使用 fillchar 参数指定的字符填充)

>>> x.center(5)
'有内鬼,停止交易!'
>>> x.center(15)
'   有内鬼,停止交易!   '
[如果传入的wide参数比原字符串的总长度小,那么它是原字符串输出的]

ljust(width,fillchar=' ') :返回一个字符左对齐的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符左对齐,右侧使用 fillchar 参数指定的字符填充)

>>> x.ljust(15)
'有内鬼,停止交易!      '

rjust(width,fillchar=' '):返回一个字符右对齐的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符右对齐,左侧使用 fillchar 参数指定的字符填充)

>>> x.rjust(15)
'      有内鬼,停止交易!'

zfill(width):返回一个左侧用 0 填充的新字符串(width <= 字符串长度,新字符串 = 原字符串;width > 字符串宽度,所有字符右对齐,左侧使用 0 进行填充)

>>> x.zfill(15)
'000000有内鬼,停止交易!'
[做数据报表的时候比较实用
>>> "520".zfill(5)
'00520'
>>> "-520".zfill(5)
'-0520'
]

左中右对齐这三个方法还支持fillchar参数,它有一个默认值是空格(就是说你不去设置它,它就用空格来填充),利用这个,我们就可以随意地来修改这个填充的字符。

>>> x.center(15,"淦")
'淦淦淦有内鬼,停止交易!淦淦淦'
>>> x.ljust(15,"淦")
'有内鬼,停止交易!淦淦淦淦淦淦'
>>> x.rjust(15,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'

进击的Mia 发表于 2021-9-15 15:54:40

学习了!

Libertaz 发表于 2021-10-19 18:48:24

打卡!

wangtuan 发表于 2021-11-22 16:17:30

>>> x = "12321"
>>> "是回文数"if x == x[::-1] else "不是回文数"
'是回文数'
>>> x = "I love FishC"
>>> x.capitalize()
'I love fishc'
>>> x
'I love FishC'
>>> x.casefold()
'i love fishc'
>>> x.title()
'I Love Fishc'
>>> x.swapcase()
'i LOVE fISHc'
>>> x.upper()
'I LOVE FISHC'
>>> x.lower()
'i love fishc'
>>> 'β'.lower()
'β'
>>> 'β'.casefold()
'β'
>>> x = "有内鬼,停止交易!"
>>> x.center(5)
'有内鬼,停止交易!'
>>> x.center(15)
'   有内鬼,停止交易!   '
>>> x.ljust(15)
'有内鬼,停止交易!      '
>>> x.rjust(15)
'      有内鬼,停止交易!'
>>> x.zfill(15)
'000000有内鬼,停止交易!'
>>> "520".zfill(5)
'00520'
>>> "-520".zifll(5)
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
    "-520".zifll(5)
AttributeError: 'str' object has no attribute 'zifll'
>>> "-520".zfill(5)
'-0520'
>>> x.center(15,"淦")
'淦淦淦有内鬼,停止交易!淦淦淦'
>>> x.ljust(15,"淦")
'有内鬼,停止交易!淦淦淦淦淦淦'
>>> x.rjust(15,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'
>>>

燮light 发表于 2021-12-28 17:23:38

ASM023 发表于 2022-2-25 20:10:11

打卡~~{:10_254:}{:10_254:}

Er3nYeager 发表于 2022-4-18 10:12:24

学习打卡

码农心 发表于 2022-5-9 11:03:53

怎么才能识记这些我不认识的函数呢?

天恐星 发表于 2022-5-9 22:31:49

课后作业答案完全看不懂,又没人解说下。{:10_266:}

Mxxxx. 发表于 2022-5-25 19:51:15

打卡

ctx111 发表于 2022-8-5 11:18:10

>>> x='123454321'
>>> '是' if x==x[::-1] else '不是'
'是'
>>> x='123'
>>> 是' if x==x[::-1] else '不是'
SyntaxError: invalid syntax
>>> '是' if x==x[::-1] else '不是'
'不是'
>>> x='有内鬼,停止交易!'
>>> x.center(9)
'有内鬼,停止交易!'
>>> x.ljust(12)
'有内鬼,停止交易!   '
>>> x.rjust(12)
'   有内鬼,停止交易!'
>>> x.zfill(18)
'000000000有内鬼,停止交易!'
>>> 1314.zfill(33)
SyntaxError: invalid syntax
>>> '1314'.zfill(33)
'000000000000000000000000000001314'
>>> '-1314'.zfill(30)
'-00000000000000000000000001314'
>>> x.center(30,"焯")
'焯焯焯焯焯焯焯焯焯焯有内鬼,停止交易!焯焯焯焯焯焯焯焯焯焯焯'
>>> x.ljust(30,"焯")
'有内鬼,停止交易!焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯焯'
>>> x.rjust(30,"干")
'干干干干干干干干干干干干干干干干干干干干干有内鬼,停止交易!'
>>> x
'有内鬼,停止交易!'
>>> a='ctx,hcm'
>>> a.capitalize
<built-in method capitalize of str object at 0x7fd756fb4e70>
>>> a.capitalize()
'Ctx,hcm'
>>> a.casefold()
'ctx,hcm'
>>> a.title()
'Ctx,Hcm'
>>> a.upper()
'CTX,HCM'
>>> a.lower()
'ctx,hcm'
>>> a.swapcase()
'CTX,HCM'

JZt2902019046 发表于 2022-8-10 16:08:23

打卡

xydsds 发表于 2022-8-21 11:28:26

{:5_101:}

lia02 发表于 2022-8-23 10:55:57

>>> x = "12321"
>>> "是回文数。" if x == x[::-1] else "不是回文数。"
'是回文数。'

chenjinchao 发表于 2022-9-19 17:02:01

路过

chenjinchao 发表于 2022-9-19 18:06:48

打卡

jdr 发表于 2022-9-25 09:32:59

{:5_103:}
页: [1] 2 3
查看完整版本: 第027讲:字符串(I)