Python字符串基础详解

0 下载量 154 浏览量 更新于2024-09-01 1 收藏 92KB PDF 举报
括多个变量,可以使用逗号分隔。例如: ```python name = 'Alice' age = 25 print('My name is %s and I am %d years old.' % (name, age)) # 输出: My name is Alice and I am 25 years old. ``` 在Python 3.x中,更推荐使用`format()`函数进行字符串格式化,因为它提供了更多的灵活性和可读性: ```python print('My name is {} and I am {} years old.'.format(name, age)) # 输出: My name is Alice and I am 25 years old. ``` 或者使用f-string(格式化字符串字面量)在Python 3.6及以上版本: ```python print(f'My name is {name} and I am {age} years old.') # 输出: My name is Alice and I am 25 years old. ``` 二.字符串操作 1. 切片和索引 字符串是不可变的,意味着一旦创建就不能修改。但是可以使用索引来访问单个字符,如`s[0]`,或使用切片获取子字符串,如`s[1:3]`。 2. 长度 使用内置函数`len()`获取字符串长度,例如`len('hello')`返回5。 3. 连接 使用`+`操作符连接两个字符串,如`'hello' + 'world'`得到`'helloworld'`。 4. 重复 使用`*`操作符重复字符串,如`'abc' * 3`得到`'abcabcabc'`。 5. 字符串方法 Python提供了一系列内置的字符串方法,如`lower()`(转换为小写),`upper()`(转换为大写),`strip()`(去除两侧空白),`replace(old, new)`(替换子串),`split()`(按分隔符拆分字符串)等。 6. 查找与替换 `find(substring)`用于查找子串第一次出现的位置,返回索引;`index(substring)`与之类似,但找不到时会抛出异常。`count(substring)`统计子串在字符串中出现的次数。 7. 格式化操作符高级用法 对于`%`操作符,可以指定宽度和精度,如`'%-10s' % 'hello'`左对齐并填充空格,`'%05d' % 42`填充0到5位整数。`%s`用于字符串,`%d`用于整数,`%f`用于浮点数,`%e`和`%g`用于科学记数法。 8. `format()`函数的高级用法 `format()`可以设置对齐、填充、精度等,如`'{:<10}'.format('hello')`左对齐并填充空格到10位。还可以通过字段名指定参数,如`'{name}, {age}'.format(name='Alice', age=25)`。 9. f-string的动态插入 f-string允许在字符串中直接插入变量的值,如`f'I have {count} apples.'`,`count`的值会被自动插入。 三.字符串编码与解码 在处理不同编码的字符串时,可以使用`encode()`将字符串编码为字节,`decode()`将字节解码为字符串。例如,将UTF-8编码的字符串转为GBK编码: ```python s = '你好,世界' encoded = s.encode('utf-8') # 编码为字节 decoded = encoded.decode('gbk') # 使用GBK解码 ``` 四.正则表达式 Python的`re`模块提供正则表达式支持,可以用于匹配、查找、替换等复杂字符串操作。例如,使用正则表达式查找所有数字: ```python import re text = 'The price is $123.45' numbers = re.findall('\d+', text) # 返回['123', '45'] ``` 五.字符串与Unicode Python默认使用Unicode编码,这使得它能处理全球各种语言的文本。在处理非ASCII字符时,确保数据正确编码和解码以避免乱码问题。 Python中的字符串是其强大的特性和功能之一,不仅包含基本的字符串操作,还有丰富的格式化选项和正则表达式支持,使其成为处理文本数据的强大工具。了解和熟练掌握这些基础知识,对于Python编程至关重要。