文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

学习笔记-小甲鱼Python3学习第十四

2023-01-31 07:57

关注

字符串的方法及注释

capitalize()
把字符串的第一个字符改为大写
casefold()
把整个字符串的所有字符改为小写
center(width)
将字符串居中,并使用空格填充至长度 width 的新字符串
count(sub[, start[, end]])
返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
encode(encoding='utf-8', errors='strict')
以 encoding 指定的编码格式对字符串进行编码。
endswith(sub[, start[, end]])
检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
expandtabs([tabsize=8])
把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
find(sub[, start[, end]])
检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
index(sub[, start[, end]])
跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
isdecimal()
如果字符串只包含十进制数字则返回 True,否则返回 False。
isdigit()
如果字符串只包含数字则返回 True,否则返回 False。
islower()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。
isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False。
isspace()
如果字符串中只包含空格,则返回 True,否则返回 False。
istitle()
如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
isupper()
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
join(sub)
以字符串作为分隔符,插入到 sub 中所有的字符之间。
ljust(width)
返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
lower()
转换字符串中所有大写字符为小写。
lstrip()
去掉字符串左边的所有空格
partition(sub)
找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')
replace(old, new[, count])
把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
rfind(sub[, start[, end]])
类似于 find() 方法,不过是从右边开始查找。
rindex(sub[, start[, end]])
类似于 index() 方法,不过是从右边开始。
rjust(width)
返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
rpartition(sub)
类似于 partition() 方法,不过是从右边开始查找。
rstrip()
删除字符串末尾的空格。
split(sep=None, maxsplit=-1)
不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
splitlines(([keepends]))
在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
startswith(prefix[, start[, end]])
检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
strip([chars])
删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
swapcase()
翻转字符串中的大小写。
title()
返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
translate(table)
根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。
upper()
转换字符串中的所有小写字符为大写。
zfill(width)
返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。


-------------------分割线,哈哈哈--------------------

课后作业


0.还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?

方法一:

>>> str1 = '''a

b

c'''

>>> print(str1)

a

b

c


方法二:

>>> str2 = "a\nb\nc"

>>> print(str2)

a

b

c


1.三引号字符串通常我们用于做什么使用?

在赋值的情况下,一般做多行输入;

不赋值的情况下,通常当作跨行注释使用。


2. file1 = open(‘C:\windows\temp\readme.txt’, ‘r’) 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?

因为字符串中的\t和\r表示TAB和回车。可以修改为:

file1 = open(r‘C:\windows\temp\readme.txt’, ‘r’) 

r或者R是原始字符串操作符,不会转义\t和\r


3. 有字符串:str1 = '<a href ="http://www.fishc.com/dvd"target="_blank">'鱼C资源打包</a>’,请问如何提取出子字符串:'www.fishc.com'

>>> str1[17:30]

'www.fishc.com'


4.如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?

>>> str1[-34:-21]

'www.fishc.com'


5.还是第三题那个字符串,请问下边语句会显示什么内容?

>>>str1[20:-36]

得出一个空字符

如果按原作者给出的答案,打印出fish的话,那么应该是:

>>> str1[21:-26]

'fish'


6.据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = ‘i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99’

>>> str1[::3]

'ilovefishc.com'

意思是从字符串0位开始到末尾,已步进值为3打印字符,也可写为>>> str1[0:42:3]


--------------分割线,哈哈哈------------------------


动动手:

0.请写一个密码安全性检查的脚本代码:check.py 

低级密码要求: 

# 1. 密码由单纯的数字或字母组成 

# 2. 密码长度小于等于8位

# 中级密码要求: 

# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合 

# 2. 密码长度不能低于8位 

# 高级密码要求: 

# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合 

# 2. 密码只能由字母开头

# 3. 密码长度不能低于16位


symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''

chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

nums = '0123456789'


while 1:

    password = input('请输入要检测的密码组合:')

    length = len(password)

    if (password.isspace() or length == 0):

        password = input('请重新输入要检测的密码组合:')

        length = len(password)

    if length <= 8:

        password_len = 1

    elif (8 < length < 16):

        password_len = 2

    else:

        password_len = 3

    password_con = 0

    for each in password:

        if each in symbols:

            password_con +=1

            break

    for each in password:

        if each in chars:

            password_con += 1

            break

    for each in password:

        if each in nums:

            password_con += 1

            break

    while 1:

        print('您的密码安全级别为:',end='')

        if password_len == 1 or password_con == 1:

            print('低')

        elif password_len == 2 or password_con == 2:

            print('中')

        else:

            print('高')

            print('请继续保持!')

            break

        print('''请按一下方式提升您的密码安全级别:

        1.密码必须由数字、字母及特殊字符三种组合

        2.密码只能由字母开头

        3.密码长度不能低于16位''')

        break


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯