目錄
字符串拼接
1. 通過+對字符串進行拼接
示例:
str1 = 'python'
str2 = 'hello'
print(str1 + str2) # 輸出結果:pythonhello
# 此種方法輸出會在中間加空格
print(str1, str2) # 輸出結果:python hello
2. 使用字符串的join方法進行拼接
示例:
str1 = 'python'
str2 = 'hello'
j = '---'
str3 = j.join((str1, str2))
print(str3) # 輸出結果:python---hello
# 或者
str1 = 'python'
str2 = 'hello'
str3 = ' '.join((str1, str2))
print(str3) # 輸出結果:python hello
# 或者
str1 = 'python'
str2 = ' '.join(str1)
print(str2) # 輸出結果:p y t h o n
符串格式化輸出
1. format格式化輸出(常用方式,必須掌握)
示例:
str1 = '今天收到{}, 交來{}{}。開此收據爲憑證。'
str2 = str1.format('flora', '學雜費', 666)
print(str2) # 輸出結果: 今天收到flora, 交來學雜費666。開此收據爲憑證。
# 或:
print('今天收到{}, 交來{}{}。開此收據爲憑證。'.format('flora', '學雜費', 666))
通過索引來控制填充的位置:
name = input('請輸入名字:')
info = input('請輸入費用信息:')
money = input('請輸入金額:')
print('今天收到{2}, 交來{1}費用{0}。開此收據爲憑證。'.format(money, info, name))
保留指定小數位數:
name = input('請輸入名字:')
info = input('請輸入費用信息:')
money = float(input('請輸入金額:'))
print('今天收到{}, 交來{}費用${:.2f}。開此收據爲憑證。'.format(name, info, money))
指定佔位的字符串長度:
# 默認左對齊
print('python:{:10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:python:123 AAAAAAAAAAAAAAA
# 左對齊
print('python:{:<10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:python:123 AAAAAAAAAAAAAAA
# 右對齊
print('python:{:>10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:python: 123AAAAAAAAAAAAAAA
# 居中對齊
# 居中對齊
print('python:{:^10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:python: 123 AAAAAAAAAAAAAAA
指定內容填充:
# 左對齊,以*填充
print('python:{:*<10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:123*******AAAAAAAAAAAAAAA
# 右對齊,以-填充
print('python:{:->10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:-------123AAAAAAAAAAAAAAA
# 居中對齊,以@填充
print('python:{:@^10}AAAAAAAAAAAAAAA'.format('123'))
# 輸出結果:@@@123@@@@AAAAAAAAAAAAAAA
百分比顯示效果:
print('百分比:{:.2%}'.format(0.89))
# 輸出結果:百分比:89.00%
2. 傳統的%格式化輸出
%s:萬能佔位符,可以接收任意類型的數據。
%d:數值佔位符,以整數的形式顯示。
%f: 數值佔位符,以小數的形式顯示。
示例:
print('今天收到%s, 交來%s%d。開此收據爲憑證。' % ('flora', '學雜費', 666.98))
# 輸出結果: 今天收到flora, 交來學雜費666。開此收據爲憑證。
print('今天收到%s, 交來%s%f。開此收據爲憑證。' % ('flora', '學雜費', 666))
# 輸出結果: 今天收到flora, 交來學雜費666.000000。開此收據爲憑證。
print('今天收到%s, 交來%s%.2f。開此收據爲憑證。' % ('flora', '學雜費', 666.909090))
# 輸出結果:今天收到flora, 交來學雜費666.91。開此收據爲憑證。
3. F表達式格式化輸出
示例:
name = input('請輸入名字:')
info = input('請輸入費用信息:')
money = input('請輸入金額:')
print(F'今天收到{name}, 交來{info},{money}。開此收據爲憑證。')
字符串轉義
反斜槓\表示轉義
\t:製表符(tab鍵)
\n:換行符
\\:表示1個反斜槓\
示例:
print('python\thello')
# 輸出結果:python hello
print('python2\nhello2')
# 輸出結果:
# python2
# hello2
關閉字符串轉義:r防轉義
print(r'python\thello')
# 輸出結果:python\thello
print(r'python2\nhello2')
# 輸出結果:python2\nhello2
字符串的常見操作方法
1. count查找字符串中某個字符串的個數
示例:
print('123aa123bb123cc123dd'.count('123'))
# 輸出結果:4
2. find查找字符串中某個字符串出現的第一個下標(索引)位置
示例:
print('123aa123bb123cc123dd'.find('aa'))
# 輸出結果:3
3. replace替換字符串中的某個字符串,默認替換所有
示例:
print('123aa123bb123cc123dd'.replace('123', '*'))
# 輸出結果:*aa*bb*cc*dd
# 可控制替換的次數
print('123aa123bb123cc123dd'.replace('123', '*', 1))
# 輸出結果:*aa123bb123cc123dd
4. upper將字符串中的小寫字母變成大寫字母
示例:
print('Hello World 132'.upper())
# 輸出結果:HELLO WORLD 132
5. lower將字符串中的大寫字母變成小寫字母
示例:
print('Hello World 132'.lower())
# 輸出結果:hello world 132
6. split字符串分割
示例:
# 以空格方式進行分割,返回的是個列表
print('Hello World 132'.split(' '))
# 輸出結果:['Hello', 'World', '132']
# 使用join方法反向操作
print(' '.join(['Hello', 'World', '132']))
# 輸出結果:Hello World 132
# 輸出結果:Hello World 132