鱼C论坛

 找回密码
 立即注册
查看: 16140|回复: 45

[知识点备忘] 第027讲:字符串(I)

[复制链接]
发表于 2020-11-20 02:37:45 | 显示全部楼层 |阅读模式
购买主题 已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-20 11:58:27 | 显示全部楼层
三天前刚花费10鱼币购买了旧版的“字符串的方法及注释”,今天又要花费10鱼币购买新版的“字符串的各种方法大合集”……
这期视频对字符串的各种内置方法(共46个)分门别类进行了讲解,演示了“大小写字母换来换去”和“左中右对齐”两种类别下的相应方法。感觉其中比较有趣的是以德文字母'β'为例,演示了字符串转小写的两个方法lower()和casefold()之间的区别!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 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,"赣")
'赣赣赣赣赣赣有内鬼,停止交易!'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 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()除了可以处理英语之外,还可以处理更多其它语言的字符,比如德语:

>>> '&#223;'.lower()
'&#223;'
>>> '&#223;'.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,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2021-9-15 15:54:40 | 显示全部楼层
学习了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 18:48:24 | 显示全部楼层
打卡!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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,"淦")
'淦淦淦淦淦淦有内鬼,停止交易!'
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-28 17:23:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-25 20:10:11 | 显示全部楼层
打卡~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-18 10:12:24 | 显示全部楼层
学习打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 11:03:53 | 显示全部楼层
怎么才能识记这些我不认识的函数呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-9 22:31:49 | 显示全部楼层
课后作业答案完全看不懂,又没人解说下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 19:51:15 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-10 16:08:23 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-21 11:28:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-23 10:55:57 | 显示全部楼层
>>> x = "12321"
>>> "是回文数。" if x == x[::-1] else "不是回文数。"
'是回文数。'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-19 17:02:01 | 显示全部楼层
路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-19 18:06:48 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-25 09:32:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表