字符串就是一系列字符。在Python中,用引號括起的都是字符串,其中的引號可以是單引號,也可以是雙引號。
說明:在用單引號括起的字符串中,如果包含撇號,就將導(dǎo)致錯誤。這是因為這會
導(dǎo)致Python將第一個單引號和撇號之間的內(nèi)容視為一個字符串,進(jìn)而將余下的文本視為Python代碼,從而引發(fā)錯誤。所以字符串中要使用撇號的時候,字符串最好用雙引號括起來
字符串的創(chuàng)建
str = 'hello world'
##等價于
str = "hello world"
字符串的常用方法調(diào)用
str1 = 'hello,world!'
print(len(str1))#長度
print(str1.capitalize())#改變大寫字母
print(str1.upper())#轉(zhuǎn)換成大寫字母 lower是轉(zhuǎn)換成小寫字母
print(str1.title())#每個單詞的首字母大寫
print(str1)
print(str1.find('or'))#尋找'or'是否在字符串str1中
print(str1.find('shit'))
# 與find類似但找不到子串時會引發(fā)異常
# print(str1.index('or'))
# print(str1.index('shit'))
print(str1.startswith('He'))#字符串是否以'He'開頭
print(str1.startswith('hel'))
print(str1.endswith('!'))
print(str1.center(50, '*'))#字符串居中處理
print(str1.rjust(50, ' '))#字符串右對齊
str2 = 'abc123456'
print(str2[2])#字符串切片
print(str2[2:5])
print(str2[-1:-3:-1])#字符串倒序輸出
# 檢查字符串是否由數(shù)字構(gòu)成
print(str2.isdigit()) # False
# 檢查字符串是否以字母構(gòu)成
print(str2.isalpha()) # False
# 檢查字符串是否以數(shù)字和字母構(gòu)成
print(str2.isalnum()) # True)
str3 = ' jackfrued@126.com '
print(str3)
print(str3.strip())#刪除多余的空格 lstrip():刪除開頭空格
#要永久刪除這個字符串中的空白,必須將刪除操作的結(jié)果存回到變量中
練習(xí):打印滾動字幕
import os
import time
def word():
s = '歡迎來到簡書。。。。。。'
while True:
#清除輸出的內(nèi)容
os.system('cls')
print(s)
#休眠0.5s
time.sleep(0.5)
s = s[1:] + s[0]
# temp = s[1]
# for n in range(len(s) - 1):
# s[n] = s[n + 1]
# s[len(s) - 1] = temp
# print(s)
練習(xí):隨機(jī)生成驗證碼
from random import randint
#函數(shù),隨機(jī)驗證碼,長度指定,大小寫字母和數(shù)字,
def code(n):
cod = ''
for _ in range(n):
num = randint(65, 123)
if 65 <= num <= 90:
cod += chr(num)
elif 97 <= num <= 122:
cod += chr(num)
else:
cod += str(randint(1, 9))
return cod
#等價于
def code1(code_len=4):
"""
生成不同長度的驗證碼
:param code_len: 驗證碼的長度
:return: 隨機(jī)生成指定長度的大小寫字母和數(shù)字的驗證碼
"""
all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
chars_len = len(all_chars) - 1
cod = ''
if code_len > 0:
for _ in range(code_len):
num = randint(0, chars_len)
cod += all_chars[num]
return cod
else:
return None
取出文件后綴名
def get_suffix(filename, hos = False):
"""
獲取文件后綴名
:param filename: 文件的名字
:param hos:取文件后綴名的時候是否要"."
:return:返回文件后綴名
"""
pos = filename.rfind(".")
if 0 < pos < len(filename) - 1:
index = pos if hos else (pos + 1)
return filename[index : ]
else:
return ''
if __name__ == '__main__':
print(get_suffix("hello.jpg"))
print(get_suffix("hello.c"))
print(get_suffix("hello.jpg", True))
print(get_suffix(".abc"))
print(get_suffix("abc."))
練習(xí):判斷字符是否為回文字符
def str_palindrome(s):
low = 0
high = len(s) - 1
while high > low:
if s[low] != s[high]:
return False
low += 1
high -= 1
return True
練習(xí):判斷回文數(shù)
def is_palindrome(num):
"""
判斷一個數(shù)是不是回文數(shù)
:param num: 一個非負(fù)整數(shù)
:return: 是回文數(shù)返回True
"""
temp = num
re_data = 0
while temp > 0:
re_data = re_data * 10 + temp % 10
temp //= 10
return re_data == num and pri(num)