1、string的格式

  string可以使用单引号、双引号、三引号括起来,但他们的适用场景不同。

  单引号、双引号:适用场景一样,都是用于标识一个字符串的开始和结束,不过如果字符串中包含与界定字符串开始与结束相同的字符,例如或者,需要使用\进行转义,转义的意思是说,此引号是一个普通的字符,不具有界定字符串开始或者结束的功能。

  三引号: 可以按照引号里面的格式原封不动的输出格式,主要用于跨行的功能,比如多行注释

  raw原始字符串:在字符串前的r,指示后面的字符都是普通字符,比如里面含有转义字符\,那么他不具有转义功能。

  目前,我们经常需要使用的转义字符如下:

转义字符

说明

\

表示单引号

\

表示双引号

\t

tab

\n

回车

\\

表示\

 

实例:

# "中可以包括',不需要转义

print("nwumba's content is good")

# "中包括",需要转义

print("nwumba\"s content is good")

# '中包括",不需要转义

print('nwumba"s content is good')

# '中包括',需要转义

print('nwumba\'s  content is good')



# 使用引号可以原封不动的输出原有的字符串格式

print(''' nwumba's

      coontent

      is good''')



print(""" nwumba's

      coontent

      is good""")





# 因为使用r把字符串标识为原始字符串,所以\n不具有转义功能,会原封不动的输出

print(r"nwumba\ns content is good")

print(r'nwumba\ns content is good')

 

2string索引以及分片

  你可以把string看成和list一样的,字符串中的每个字符都可以当成list的一个元素,所以用整数索引和范围切片都适用于string.

str="www.nwumba.cn"

print(str[0])

print(str[5])

print(str[0:5])

 

3innot in

  innot in同样适用于字符串

str="www.nwumba.cn"

"nwumba" in str

"NWUMBA" in str

'' in str

"nginx.nwumba.cn" not in str

 

4string插值

  如果一个string中有%s字符,那么这就意味着%s这个位置会被后面的变量替换,这就叫插值。例如:  

str="www.nwumba.cn"

print("website domain is %s" % str)

#python 3.6引入了f字符,如果在一个字符前面存在f字符,那么在这个字符串中用{}括起来的表达式将被替换成实际的值。#例如:

str="www.nwumba.cn"

print(f"website domain is {str}")

 

5upper()lower()isupper(0islower()

  upper(): 把字符串中的字母转换成大写形式

  lowwer(): 把字符串中的字母转换成小写形式

  isupper(): 字符串中的字母是否都是大写

  islowwer(): 字符串中的字母是否都是小写 

str="WWw.nwumba.cn"

print(str.upper())

print(str.lower())

print(str.isupper())

print(str.islower())

 

6isX()方法

     isalpha(): 仅包括字母时,返回True,否则返回False

 isalnum(): 仅包括字母和数字时,返回True,否则返回False

 isdecimal(): 仅包括数字时,返回True,否则返回False

 isapce(): 仅包括空格、tab、换行符时返回True,否则返回False

    istitle(): 首字母大写,其余字母小写时返回True,否则返回False

"nwumba.cn".isalpha()

"nwumba.cn123".isalpha()

"nwumba.cn".isalnum()

"123".isalnum()

"123".isdecimal()

" ".isspace()

"Nwumba.cn".istitle()

"NwuMba.cn"istitle()

 

7startswith()endswith()

     starstwith(qrg): 以字符串arg开头时返回True

 endswith(arg):  以字符串arg结尾时返回True

str="nwumba.cn"

print(str.startswith("nwu"))

print(str.endswith(".cn"))

 

8join()split()

  (sep).join(list_arg): 使用sep分隔符把list_arg中的每个字符串连成单个字符串

  str.split(arg): strarg隔开,形成多个字符串 

print(".".joing(["www","nwumba","cn"]))

print("www.nwumba.cn".split("."))

 

9partition()

 partition(sep_str):把一个字符串分成部分,分别是sep_str前的字符串、sep_str本身、以及sep_str后面的字符串,这三部分形成一个元组

str="www.nwumba.cn"

print(str.partition("nwu"))

#如果字符里面有多个字符串和sep_str,那么partition方法只会应用于第一个匹配的字符串

print(str.partition("."))

# 如果没有和sep_str匹配的字符串,则会返回整个字符串,其余两两部分为空

print(str.partition("baidu"))

 

10rjust()ljust()center()

   rjust(length,str): 字符串向右增长到length长度,左边用str字符填充

   ljust(length,str): 字符串向左增长到length长度,右边用str字符填充

   center(length,str): 字符串增长到length长度,且居中对齐,左边和右边用str字符填充

print("nwumba.cn".rjust(20,"*"))

print("nwumba.cn".ljust(20,"*"))

print("nwumba.cn".center(20,'*"))

 

11strip()rstrip()lstrip()

   strip(str): 删除字符串两边的str字符

   rstrip(str): 删除字符串右边的str字符

   lstrip(str): 删除字符串左边的str字符

print("www.nwumba.cn".strip("wn"))

print("www.nwumba.cn".lstrip("wn"))

print("www.nwumba.cn".rstrip("wn"))

 

12ord()chr()

   ord(): 把字母转换成相应的ascii

   chr(): ascii码转换成字母

print(ord("A"))

print(chr(65))

 

13pyperclip模块

   pyperclip模块可以模拟赋值粘贴的操作,因为是第三方模块,所以需要看书安装,命令为pip install pyperclip,常用函数有两个:

   pypercli.copy(str): str的内容放到剪贴板中去

   pypercli.paste(): 把剪贴板的内容拿出来

 

14、综合实例

#! python3

# mclip.py - 通过命令行输入的key,在TEXT dict中查询此key对应的value,把value复制到剪贴板中去



TEXT = {'nwumba': """www.nwumba.cn""",

        'baidu': """www.baidu.com""",

        'google': """www.google.com"""}



import sys, pyperclip

if len(sys.argv) < 2:

    print('Usage: py mclip.py [keyphrase] - copy phrase text')

    sys.exit()



# sys.argv是一个数组,sys.argv[0]是程序的名字,从第二个参数sys.argv[1]开始,才是自定义的参数

keyphrase = sys.argv[1] # 取得命令行输入的key



if keyphrase in TEXT: # 在dict中查找是否有此key

    pyperclip.copy(TEXT[keyphrase]) # 把key对应的value复制到剪贴板中去

    print('Text for ' + keyphrase + ' copied to clipboard.')

else:

    print('There is no text for ' + keyphrase) #没有查找到用户输入的key

把程序存储为mclip.py,到此目录下,通过命令./mclip.py key运行程序

 

15、综合实例

#! python3

# addbullet.py - 获取剪贴板中的每行,在每行的开始位置加入*和空格

# of each line of text on the clipboard.



import pyperclip

text = pyperclip.paste() # 获取剪贴板中的文本



# 剪贴板中的文本是一个字符串,每行都以\n结尾

lines = text.split('\n')

for i in range(len(lines)):    # 循环每行

    lines[i] = '* ' + lines[i] # 在每行开始加入*和空格

text = '\n'.join(lines) # 处理后的文本在放到剪贴板前,需要在每行后面加\n,加为原始字符串就是每行为\n

pyperclip.copy(text) # 把处理后的字符串复制到剪贴板

 

把程序存储为addbullet.py,先随意复制一段多行文本,然后运行程序,再粘贴出来即可看到效果

原创文章,转载请注明出处:http://www.nwumba.cn/article/15/