购买主题
三天前刚花费10鱼币购买了旧版的“字符串的方法及注释”,今天又要花费10鱼币购买新版的“字符串的各种方法大合集”……
这期视频对字符串的各种内置方法(共46个)分门别类进行了讲解,演示了“大小写字母换来换去”和“左中右对齐”两种类别下的相应方法。感觉其中比较有趣的是以德文字母'β'为例,演示了字符串转小写的两个方法lower()和casefold()之间的区别!
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,"赣")
'赣赣赣赣赣赣有内鬼,停止交易!'
>>>
**字符串**
字符串是不可变的对象。
在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,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'
学习了!
打卡!
>>> 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,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'
>>>
√
打卡~~{:10_254:}{:10_254:}
学习打卡
怎么才能识记这些我不认识的函数呢?
课后作业答案完全看不懂,又没人解说下。{:10_266:}
打卡
>>> 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'
打卡
{:5_101:}
>>> x = "12321"
>>> "是回文数。" if x == x[::-1] else "不是回文数。"
'是回文数。'
路过
打卡
{:5_103:}
已有 25 人购买 本主题需向作者支付 5 鱼币 才能浏览