前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记-小甲鱼Python3学习第十四

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

作者头像
py3study
发布2020-01-03 13:06:31
8260
发布2020-01-03 13:06:31
举报
文章被收录于专栏:python3python3

字符串的方法及注释

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档