温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python字符串的基础操作

发布时间:2021-09-01 20:52:33 来源:亿速云 阅读:88 作者:chen 栏目:编程语言

本篇内容介绍了“python字符串的基础操作”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1 处理字符串

  1. 原始字符串:在字符串开始的引号之前加上r,使它成为原始字符串。“原始字符串”完全忽略所有的转义字符,打印出字符串中的所有倒斜杠。

  2. 用三重引号的多行字符串:多行字符串的起止是3个单引号或3个双引号。”三重引号“之间的所有引号、制表符或换行,都被认为是字符串的一部分。

  1. 多行字符串常常用作多行注释。

  2. 字符串下标和切片: 字符串像列表一样,使用下标和切片。

  3. 字符串in和not in 操作符:像列表一样,in和not in操作符也可以用于字符串。

2 字符串方法upper()、lower()、isupper()、和islower()

upper()和lower()字符串方法返回一个新的字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中的非字母字符保持不变。

>>> spam='hello world'>>> spam.upper()'HELLO WORLD'>>> spam'hello world'>>> spam =spam.upper()>>> spam'HELLO WORLD'#用islower(),isupper()来判断字符串中的字母是否都是小写和大写。>>> spam.islower()
False>>> spam.isupper()
True#这样调用也是可行的>>> 'hello'.upper()'HELLO'>>> 'HELLO'.lower()'hello'

这些方法没有改变字符串本身,而是返回一个新的字符串

3 isX字符串方法

  • isalpha() 返回True,如果字符串中值包含字母,并且非空

  • isalnum() 返回True,如果字符串中只包含字母和数字,并且非空

  • isdecimal() 返回True,如果字符串中只包含数字字符,并且非空

  • isspace() 返回True, 如果字符串中只包含空格,制表符和换行,并且非空

  • istitle() 返回True,如果字符串中只包含以大写字母开头,后面都是小写字母的单词。

该程序反复询问用户年龄和口令,知道他们输入一个有效的值:

while True:    print('Enter your age:')
    age =input()
    if age.isdecimal():        break
    print('please enter a number for you age')while True:    print('select a new password (letters and numbers only):')
    password = input()
    if password.isalnum():        break
    print('passwords can only have letters and numbers.')

4 字符串方法startswith()和endswith()

startswith()和endswith()方法,如果他们调用的字符串以该方法传入的字符串开始或结束,则返回True,反之则返回False。如果要检查字符串的开始或结束部分是否等于另一个字符串,而不是整个字符串,这些方法就可以替代等于操作符==,这很有用。

5 字符串方法join()和split()

join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。

>>> ','.join(['cat','rat','bat'])'cat,rat,bat'>>> ''.join(['my','name','is','Simon'])'mynameisSimon'>>> ' '.join(['my','name','is','Simon'])'my name is Simon'>>> 'ABC'.join(['my','name','is','Simon'])'myABCnameABCisABCSimon'>>>

split()方法做的事情正好相反,它针对一个字符串调用,返回一个字符串列表。

>>> 'my name is Simon'.split()
['my', 'name', 'is', 'Simon']>>> 'myABCnameABCisABCSimon'.split("ABC")
['my', 'name', 'is', 'Simon']

默认情况下,字符串'my name is Simon'按照空白字符分割,诸如空格、制表符或换行符。

6 用rjust()、ljust()和center()方法对齐文本

rjust()和ljust()字符串方法返回调用他们的字符串的填充版本,通过插入空格来对齐文本。这两个方法的

  • 第一个参数是一是整数长度,用于对齐字符串,

  • 第二个可选参数是将指定一个填充字符,取代空格字符。

center()字符串方法与ljust()和rjust()类似,但他让文本居中。

>>> 'hello'.rjust(10)'     hello'>>> 'hello'.ljust(20)'hello               '>>> 'hello'.rjust(20,'*')'***************hello'>>> 'hello'.ljust(20,'*')'hello***************'>>> 'hello'.center(10,'=')'==hello==='

'hello'.rjust(10)是要右对齐,将'hello'放在一个长度为10的字符串中'hello'有5个字符他会在左边加5个空格,得到一个10个字符的字符串。

这个是一个打印表格式数据,流出空格的小代码:

def printPicnic(itemsDict, leftWidth, rightWidth):
    print('PICNIC ITEMS'.center(leftWidth + rightWidth, '-'))    for k, v in itemsDict.items():
        print(k.ljust(leftWidth, '.') + str(v).rjust(rightWidth))
picnicItems = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000}
printPicnic(picnicItems, 12, 5)
printPicnic(picnicItems, 20, 6)

运行结果如下:

---PICNIC ITEMS--
sandwiches..    4apples......   12cups........    4cookies..... 8000-------PICNIC ITEMS-------
sandwiches..........     4apples..............    12cups................     4cookies.............  8000

7 用strip()、rstrip()和lstrip()删除空白字符

  • strip()字符串返回一个新的字符串,它的开头和末尾都没有空白字符。

  • lstrip()删除左边的空白字符

  • rstrip()删除右边的空白字符

有一个可选的字符串参数,指定两边的那些字符应该删除。

>>> spam = 'spamspamspambaconspameggsspamspam'>>> spam.strip('spam')'baconspamegg'

向strip()方法传入参数'spam',告诉它在变量中存储的字符串两端删除出现的s、p、a、m。传入strip()方法的字符串中的字符顺序不重要strip('spam')和strip('mpsa')做的事情一样

8 pyperclip()模块拷贝粘贴字符串

pyperclip模块有copy()和paste()函数,它可以像计算机的剪贴板发送文本,或从它接收文本。将程序的输出发送到剪贴板,使他很容易粘贴到邮件,文字处理程序或其他软件中。

实践项目 在wiki标记中添加无序列表

import pypercliptext = pyperclip.paste()lines = text.split('\n')for i in range(len(lines)):    lines[i] = '*'+ lines[i]text='\n'.join(lines)
pyperclip.copy(text)

“python字符串的基础操作”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI