1.字符串運算符
作符 | 描述 |
---|
+ | 字符串連接 |
* | 重復輸出字符串 |
[] | 通過索引獲取字符串中字符 |
[ : ] | 截取字符串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個字符的。 |
in | 成員運算符 - 如果字符串中包含給定的字符返回 True |
not in | 成員運算符 - 如果字符串中不包含給定的字符返回 True |
# 字符串連接
str1 = "Hello"
str2 = "World"
result = str1 + str2 # 輸出: HelloWorld# 字符串重復
str3 = "Ha"
result = str3 * 3 # 輸出: HaHaHa# 字符串索引
text = "Python"
char = text[0] # 輸出: P# 字符串切片
text = "Python Programming"
slice_str = text[0:6] # 輸出: Python# 成員運算符
text = "Hello Python"
print("Hello" in text) # 輸出: True
print("Java" not in text) # 輸出: True
?2.字符串格式化
作符 | 描述 |
---|
????? %c | ?格式化字符及其ASCII碼 |
????? %s | ?格式化字符串 |
????? %d | ?格式化整數 |
????? %o | ?格式化無符號八進制數 |
????? %x | ?格式化無符號十六進制數 |
????? %f | ?格式化浮點數字,可指定小數點后的精度 |
????? %e | ?用科學計數法格式化浮點數 |
name = "張三"
age = 25
height = 1.75# %s 字符串格式化
print("姓名: %s" % name) # 輸出: 姓名: 張三# %d 整數格式化
print("年齡: %d歲" % age) # 輸出: 年齡: 25歲# %f 浮點數格式化
print("身高: %.2f米" % height) # 輸出: 身高: 1.75米# 多個變量格式化
print("個人信息 - 姓名: %s, 年齡: %d歲, 身高: %.2f米" % (name, age, height))# 其他格式化示例
num = 42
print("十六進制: %x" % num) # 輸出: 十六進制: 2a
print("八進制: %o" % num) # 輸出: 八進制: 52
print("科學計數: %e" % 1234.5678) # 輸出: 科學計數: 1.234568e+03
3.f-string
- 格式化字符串以?f?開頭,后面跟著字符串,字符串中的表達式用大括號 {} 包起來,它會將變量或表達式計算后的值替換進去。
- 比起上述格式化方法個,更簡潔,不用再去判斷類型。
name = "李四"
age = 30
score = 98.5# 基本用法
print(f"姓名: {name}") # 輸出: 姓名: 李四
print(f"年齡: {age}歲") # 輸出: 年齡: 30歲
print(f"成績: {score}分") # 輸出: 成績: 98.5分# 表達式計算
x = 10
y = 20
print(f"{x} + {y} = {x + y}") # 輸出: 10 + 20 = 30# 調用函數
def get_square(n):return n * n
number = 8
print(f"{number}的平方是{get_square(number)}") # 輸出: 8的平方是64# 字典訪問
student = {"name": "王五", "grade": "A"}
print(f"學生{student['name']}的等級是{student['grade']}") # 輸出: 學生王五的等級是A# 對齊和填充
print(f"{'左對齊':<10}|") # 輸出: 左對齊 |
print(f"{'右對齊':>10}|") # 輸出: 右對齊|
print(f"{'居中':^10}|") # 輸出: 居中 |# 進制轉換
num = 42
print(f"十進制: {num}") # 輸出: 十進制: 42
print(f"二進制: {num:b}") # 輸出: 二進制: 101010
print(f"十六進制: {num:x}") # 輸出: 十六進制: 2a
4.字符串常用的內置函數
作符 | 描述 |
---|
len() | ?獲取字符串長度 |
upper() | ?轉化為大寫 |
lower() | ?轉化為小寫 |
strip() | ?去除首尾空白字符 |
split() | ?字符串分割 |
join() | ?字符串連接 |
replace() | ?字符串替換 |
find() 和 index() | ?字符串查找子串 |
startswith(str) | 判斷字符串是否以str開頭 |
endswith(str) | 判斷字符串是否以str結尾 |
count() | 統計子串出現次數 |
isdigit() | 是否是數字 |
isalpha() | 是否是字母 |
isalnum | 是否為字母或數字 |
# len() - 獲取字符串長度
text = "Python編程"
print(f"字符串長度: {len(text)}") # 輸出: 字符串長度: 7# upper() 和 lower() - 大小寫轉換
str1 = "Hello World"
print(f"轉大寫: {str1.upper()}") # 輸出: HELLO WORLD
print(f"轉小寫: {str1.lower()}") # 輸出: hello world# strip() - 去除首尾空白字符
str2 = " Python "
print(f"去除空白: '{str2.strip()}'") # 輸出: 'Python'# split() - 字符串分割
str3 = "Python,Java,C++"
print(f"分割結果: {str3.split(',')}") # 輸出: ['Python', 'Java', 'C++']# join() - 字符串連接
list1 = ['Python', 'Java', 'C++']
print(f"連接結果: {'-'.join(list1)}") # 輸出: Python-Java-C++# replace() - 字符串替換
str4 = "Hello Python Python"
print(f"替換結果: {str4.replace('Python', 'Java', 1)}") # 輸出: Hello Java Python# find() 和 index() - 查找子串
str5 = "Hello Python"
print(f"find查找: {str5.find('Python')}") # 輸出: 6
print(f"index查找: {str5.index('Python')}") # 輸出: 6# startswith() 和 endswith() - 判斷開頭和結尾
str6 = "test.py"
print(f"是否以test開頭: {str6.startswith('test')}") # 輸出: True
print(f"是否以.py結尾: {str6.endswith('.py')}") # 輸出: True# count() - 統計子串出現次數
str7 = "Python Python Python"
print(f"Python出現次數: {str7.count('Python')}") # 輸出: 3# isdigit()、isalpha()、isalnum() - 字符串類型判斷
str8 = "123"
str9 = "abc"
str10 = "abc123"
print(f"是否為數字: {str8.isdigit()}") # 輸出: True
print(f"是否為字母: {str9.isalpha()}") # 輸出: True
print(f"是否為字母或數字: {str10.isalnum()}") # 輸出: True