Python基础入门(三)
一、本课目标
- 理解并掌握 ”字符串“ 的概念及使用
- 理解并掌握 ”列表“ 的概念及使用
- 理解并掌握 “元组” 的概念及使用
- 理解并掌握 “集合” 的概念及使用
二、字符串数据结构介绍
-
字符串的定义
- 字符串是一个有字符组成的有序序列。字符可以是,字母、数字、标点符号、或任何可打印的字符。字符串通过用于表示文本或文本数据
-
关于数据结构中串的一些概念:
- 串的长度:串的长度是指串中包含字符的数量。长度为零的串是空串。
- 串的字符集:不同的编程语言和编码系统支持不同的字符集,例如ASCII、Unicode等
- 串的索引:每个字符在串中都有一个唯一的位置,可以通过索引来访问,通常,索引从0开始,依次增加。
- 串的特性:串通常是不变的,这意味着一旦创建,他们的内容不可更改。如果需要修改串的内容,通常会创建一个新的串。
- 串的操作:串支持各种操作,包括连接、比较、切片、查找、替换、大小写转换、格式化等操作。这些操作允许对串进行处理、操作和转换。
三、字符串定义
-
字符串是最常用的数据类型,使用引号(‘ 或 ”)来创建字符串
-
创建字符串很简单,只要为变量分配一个值即可,例如:
var1 = 'Hello World' var2 = "Student"
print(ord("a"))
print(ord("b"))
# 创建字符串
s1 = "abc123测试"
s2 = 'abc123测试'
s3 = '''
abc
123
测试
'''
print(s3)
s4 = """
abc
123
测试
"""
print(s4)
s5 = '"abc"'
s6 = "'abc'"
s7 = '"abc"\'abc\''
s8 = "\"abc\"'abc'"
s9 = ("abc"
"def")
s10 = ('abc'
'def')
s11 = ("abc\def")
print(s5, s6, s7, s8, s9, s10, s11)
四、字符串索引
-
正向索引
- 自左向右
- 从0开始,依次递增
-
反向索引
- 自右向左
- 从-1开始,依次递减
五、字符串切片
- 不支持单字符串类型,单字符串在Python中也是作为一个字符串使用
- 访问子字符串,可以使用方括号[ ]来截取字符串,字符串的截取的语法格式如下:
- 变量[头下标:尾下标]
# 切片
s = "0123456789"
print(s[:])
print(s[0:])
print(s[:10])
print(s[0:10])
print(s[-10:])
六、字符串运算符
-
+ 字符串连接
-
* 重复输出字符串
-
in 成员运算符 - 如果字符串中包含给定的字符串返回True
-
not in 成员运算符 - 如果字符串中不包含给定的字符串,返回True
# 运算 s = 'abc' + 'def' + '123' s = 'abc' * 3 s = "=" * 30 s = "abc" in "123abc456" s = "abc" not in "123abc45" s = "" in "123abc456" s = "abcdefg" print(s[1:5]) print(s)
print("var1[0]:", var1[0])
print("已更新字符串:", var1[:6] + 'Google!')
print("var2[1:5]:", var2[1:5])
七、字符串格式化
-
%s 格式化字符串
-
%d 格式化整数
-
%f 格式化浮点数字,可指定小数后的精度
-
案例
# 格式化 name = "小明" age = 10 height = 1.83 print("我叫小明, 今年10岁。") print("我叫%s,今年%d岁m, 身高%f米" % (name, age, height)) print("我叫%5s,今年%d岁m, 身高%f米" % (name, age, height)) print("我叫%-5s,今年%05d岁m, 身高%06.2f米" % (name, age, height)) print(f'我叫{ name}, 今年{ age}岁, 身高{ height}米')
-
f-string格式化字符串以f开头,后面跟着字符串,字符串中的表达式用大括号{}包起来,它会将变量或表达式计算后的值替代进去
-
案例
x = 1 print(f'{ x+1}') print(f'{ x+1=}') print(f'{ x}') print("abc", "def", 123, sep = '') print("abc" + "def" + str(123))
-
练习
import time for i in range(101): print('\r{:3}%'.format(i), end='') time.sleep(0.05)
a = "Hello"
b = "Python"
print("a + b 输出结果:", a + b)
print("a * 2输出结果:", a * 2)
print("a[1]输出结果:", a[1])
print("a[1:4]输出结果:", a[1:4])
if ("H" in a):
print("H在变量a中")
else:
print("变量不在a中")
if("M" not in a):
print("M不在变量a中")
else:
print("M在变量a中")
name = 'Google'
print('Hello %s'% name)
print(f'Hello {
name}')
print(f'{
1 + 2}')
x = 1
print(f'{
x + 1}')
print(f'{
x + 1 =}')
八、字符串函数-1
-
len(string)
- 返回字符串长度
-
count(str)
- 返回str在字符串里面出现的次数
-
startswith(substr)
- 检查字符串是否是以指定子字符串substr开头
-
endswith(suffix)
- 检查字符串是否以suffix结束
-
find(str)
- 检查str是否包含在字符串中
# 字符串函数
print(len('abc12232'))
print(len(''))
print(len('\n'))
print(len('\\'))
print("ASDADSFDASDAS".count("A"))
print("aabb".startswith("aa"))
print("aabb".endswith("bb"))
print("aabb".endswith(""))
print("aabb".find("aa")) # 返回的是目标第一个索引值
print("aabb".find("bb"))
print("aabb".find("ab"))
print("aabb".find("bba"))
print("aabb"