python对于字符串能做的事情很多,比如从字符串中提取部分字符串,添加或者删除空白字符,将小写字母转换成大写,检查字符串格式是否正确,甚至你可以编写python代码访问粘贴板,复制或者粘贴。
1. 字符串的拼接
字符串的拼接可以使用加号,也可以使用join函数,join函数的参数是一个可迭代对象,比如列表,元组,字符串,字典,集合等,join函数会遍历可迭代对象中的元素,将每个元素转换成字符串,然后使用分隔符连接起来,比如:
s = 'a'
s += 'b'
print(s)
# 输出:ab
s = 'a'
s = s.join(['b', 'c'])
print(s)
# 输出:abc
2.双引号
spam = "I've got some good news for you!"
print(spam)
双引号中可以包含单引号
3.转义字符\
spam = 'Say hi to Bob\'s mother.'
print(spam)
转义字符 打印为
\' 单引号
\" 双引号
\t 制表符
\n 换行符
\\ 倒斜杠
制表符使用
# 使用格式化字符串(f-string)插入制表符
name = "张三"
age = 25
city = "北京"
print(f"姓名\t年龄\t城市")
print(f"{name}\t{age}\t{city}")
4.三引号
三引号可以包含多行字符串,也可以包含单引号和双引号
spam = """This is a very long string. It can span multiple lines.
It can even contain "quotes" without causing any problems."""
print(spam)
5.原始字符串
可以在字符串前加上r,表示原始字符串,原始字符串中的转义字符会被忽略。
spam = r'Say hi to Bob\t s mother.'
print(spam)
输出:
Say hi to Bob\t s mother.
6.字符串的长度
s = 'hello'
print(len(s))
7.字符串的索引
s = 'hello'
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
8.字符串的切片
字符串像列表一样 可以使用下标和切片,可以将字符串看成一个列表,字符串中的每个字符就是一个表项。列表的切片操作是左闭右开区间,字符串的切片操作也是左闭右开区间。
spam = 'Say hi to Bob\t s mother.'
print(spam[8])
print(spam[8:16])
9.字符串的格式化
字符串的格式化可以使用%操作符,也可以使用format函数,也可以使用f-string。
name = 'Bob'
age = 25
print('My name is %s, I am %d years old.' % (name, age))
name = 'Bob'
age = 25
print('My name is {}, I am {} years old.'.format(name, age))
name = 'Bob'
age = 25
print(f'My name is {name}, I am {age} years old.')
10.字符串的查找 in not in
字符串的查找可以使用in操作符,也可以使用find函数,也可以使用index函数。
s = 'hello'
print('h' in s)
print(s.find('e'))
print(s.index('l'))
11.字符串的替换
字符串的替换可以使用replace函数。
s = 'hello'
print(s.replace('l', 'x'))
12.字符串的分割
字符串的分割可以使用split函数。
s = 'hello world'
print(s.split())
split函数可以指定分割符,比如:
# 使用指定的分隔符(空格)并限制分割次数
text = "这是 一个 测试 字符串"
result = text.split(' ', 2)
print(result) # 输出: ['这是', '一个', '测试 字符串']
13.字符串方法 upper(),lower(),isupper(),islower(), isalpha(),isdigit(),isalnum(),isspace(),strip(),lstrip(),rstrip(),capitalize(),title(),swapcase(),center(),ljust(),rjust(),zfill(),count(),find(),index(),replace(),split(),join(),startswith(),endswith(),format(),format_map(),maketrans(),translate(),encode(),decode()
方法很多 慢慢学 只有实际用过了的才能记得住
s = 'hello'
print(s.upper())
print(s.lower())
print(s.isupper())
print(s.islower())
print(s.isalpha())
print(s.isdigit())
print(s.isalnum())
print(s.isspace())
print(s.strip())
print(s.lstrip())
print(s.rstrip())
print(s.capitalize())
print(s.title())
print(s.swapcase())
print(s.center(10))
print(s.ljust(10))
字符串的判断
字符串的判断可以使用isalpha(),isalnum(),isdigit(),isspace(),istitle()等方法。
1. isalpha()返回 True,如果字符串只包含字母,并且非空;
2. isalnum()返回 True,如果字符串只包含字母和数字,并且非空;
3. isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
4. isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空;
5. istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词
14.字符串方法 startwith() 和 endwith()
如果调用的字符串以该方法传入的字符串开始或者结束,则返回True,否则返回False。
spam = 'Li Zhi Dong'
print(spam.startswith('L'))
print(spam.endswith('g'))
print(spam.startswith('l'.upper()))
15.字符串方法 count()
返回字符串中指定子字符串出现的次数。
s = 'hello world'
print(s.count('l'))
16.字符串方法 join() 和split()
join()方法将一个可迭代对象中的元素连接成一个字符串,split()方法将一个字符串分割成一个列表。
s = 'hello'
print(s.join(['b', 'c'])) # 将列表中的元素用字符串s连接起来
print(s.join('8ob'))
print(s.split()) # 将字符串分割成一个列表
一般join方法是这样使用的:
# 使用逗号作为分隔符连接列表中的字符串
words = ['apple', 'banana', 'cherry']
result = ', '.join(words)
print(result) # 输出: apple, banana, cherry
split方法是这样使用的:
# 使用空格作为分隔符将字符串分割成列表
spam = '''Dear Alice,have you been? I am fine.
There is a container in the fridge
that is labeled "Milk Experiment".
Please do not drink it.
Sincerely,
Bob'''
spam.split('\n')
17.使用partition()方法分割字符串
partition()方法将字符串分割成三部分,第一部分是第一个分隔符之前的字符串,第二部分是第一个分隔符,第三部分是第一个分隔符之后的字符串。如果字符串中没有分隔符,则返回一个包含原始字符串和两个空字符串的元组。
s = 'hello world'
print(s.partition('w'))
print(s.partition('o'))
print(s.partition('m'))
('hello ', 'w', 'orld')
('hell', 'o', ' world')
('hello world', '', '')
如果传递给partition()方法的分隔字符串在partition()方法调用的字符串中多次出现,则该方法仅在第一次出现处分隔字符串
如果传递给partition()方法的分隔字符串在partition()方法调用的字符串中不存在,则该方法返回一个包含原始字符串和两个空字符串的元组
可以利用多重赋值技巧,将partition()方法返回的元组赋值给三个变量,例如:
s = 'hello world'
before, sep, after = s.partition('w')
print(before)
print(sep)
print(after)
hello
w
orld
17.用 rjust()、ljust()和 center()方法对齐文本
rjust()、ljust()和center()方法分别返回一个原字符串右对齐、左对齐和居中对齐,并用指定字符填充至指定宽度的字符串。
s = 'hello'
s = 'hello'
print(s.rjust(10)) #这个方法的第一个参数是一个整数,代表长度,用于对齐字符串。第二个参数是一个可选的填充字符,默认为空格。
print(s.ljust(10))
print(s.center(10)) # 居中
print(s.rjust(10,'*')) # 第二个参数是指定填充字符,用于取代空格字符
print(s.center(20,'*'))
hello
hello
hello
*****hello
*******hello********
如果需要输出表格式数据,并且保留正确的空格,这些方法将特别有用
def printoicnic(itemsDict,leftWidth,rightWidth): #定义一个可以传递三个参数的函数
print('PICNIC ITEMS'.center(leftWidth + rightWidth,'_')) #打印标题 ,使用字符串的center方法,使其居中,并使用下划线填充 其长度为leftWidth + rightWidth
for k,v in itemsDict.items(): #遍历字典中的键值对 用items()方法
print(k.ljust(leftWidth,'.') + str(v).rjust(rightWidth)) #打印键值对,使用字符串的ljust和rjust方法,使其左对齐和右对齐 ,并使用点号填充
picnicItems = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000}
printoicnic(picnicItems,12,5)
printoicnic(picnicItems,20,6)
printoicnic(picnicItems,40,8)
PICNIC ITEMS___________
sandwiches.....4
apples........12
cups..........4
cookies......8000
PICNIC ITEMS____________________
sandwiches..................4
apples........................12
cups..........................4
cookies.......................8000
PICNIC ITEMS____________________________________________________________________
sandwiches..................................................................4
apples....................................................................12
cups......................................................................4
cookies...................................................................8000
19.字符串方法 replace()
replace()方法将字符串中的某个子字符串替换为另一个子字符串,并返回替换后的新字符串。
s = 'hello world'
print(s.replace('world','python'))
20.用strip(),rstrip()和lstrip()方法删除空白字符
strip()方法删除字符串两端的空白字符,包括空格、制表符、换行符等。rstrip()方法删除字符串右端的空白字符,lstrip()方法删除字符串左端的空白字符。
s = ' hello world '
print(s.strip())
print(s.rstrip())
print(s.lstrip())
hello world
hello world
strip()方法可带有一个可选的字符串参数,用于指定要删除的字符,例如:
s = ' hello world % % %'
print(s.strip('%'))
这个方法只能删除字符串两端的字符,不能删除字符串中间的字符。如果需要删除字符串中间的字符,可以使用replace()方法。
21.字符串方法 ord() 和chr()
ord()方法返回一个字符的Unicode编码,chr()方法返回一个Unicode编码对应的字符。
print(ord('a'))
print(ord('A'))
print(chr(97))
print(chr(65))
97
65
a
A
当你需要对字符进行数学运算时,这两个函数非常有用
ord('a') < ord('b')
True
22.用pyperclip模块复制粘贴文本
pyperclip模块可以让你轻松地复制和粘贴文本,而不需要使用鼠标。
import pyperclip
pyperclip.copy('hello world')
print(pyperclip.paste())
hello world
pyperclip模块只能在Windows、Mac和Linux系统上使用,不能在DOS系统上使用。
这里留一个问题
- 怎么在windows上安装pyperclip模块
- 怎么安装第三方模块到指定目录 --涉及很多个版本
- 怎么上级第三方模块
- python模块一般放在哪个文件夹的
- 怎么查看python模块的路径
- 怎么查看python的版本
- 怎么查看python的安装路径
项目 口令保险箱
第一步:
程序设计和数据结构
希望用一个命令行参数来运行这个程序,该参数事账号的名称,例如账号的口令剪切到粘贴板。这样用户就能将他粘贴到口令输入框。这样用户就有了很长而且复杂的口令,又不用记住他们。如果用户忘记了口令,他可以运行程序并输入账号的名称来找回口令。
import pprint
PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
'luggage': '12345'}
pprint.pprint(PASSWORDS)
第二步:
处理命令行参数
import sys
import pyperclip
if len(sys.argv) < 2:
print('Usage: python password.py [account] - copy account password')
sys.exit()
account = sys.argv[1] # first command line arg is the account name
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print('Password for ' + account + ' copied to clipboard.')
else:
print('There is no account named ' + account)
第三步:
运行程序
python password.py email
20250102后面的项目这周末在补充 还得研究一下命令行带参数运行 以及bat文件生成
标签:spam,print,world,字符串,操作,方法,hello
From: https://www.cnblogs.com/lzd139/p/18625128