首页 > 其他分享 >字符串(String)

字符串(String)

时间:2024-12-26 13:30:57浏览次数:6  
标签:输出 String Python print str 字符串 name

在 Python 3 中,字符串(String) 是一种表示文本数据的核心数据类型。字符串可以包含字母、数字、符号和空格等字符,并且在 Python 中被广泛使用。以下是关于 Python 3 字符串的详细讲解:


1. 定义字符串

字符串可以用以下三种方式定义:

  • 单引号('
  • 双引号("
  • 三引号('''"""

示例:

# 使用单引号
string1 = 'Hello'

# 使用双引号
string2 = "World"

# 使用三引号(支持多行字符串)
string3 = '''This is
a multiline
string.'''

2. 字符串的特点

  1. 不可变性
    字符串是不可变的(immutable),一旦创建,就无法更改它的内容。

    示例:

    s = "hello"
    # s[0] = 'H'  # 错误:字符串内容不可修改
    s = "world"  # 可重新赋值,但会创建新的字符串对象
    
  2. 支持索引和切片

    • 字符串可以通过索引访问字符(索引从 0 开始,负索引从末尾开始)。
    • 可以通过切片操作获取字符串的子字符串。

    示例:

    s = "Python"
    print(s[0])     # 输出 'P'
    print(s[-1])    # 输出 'n'(负索引)
    print(s[0:3])   # 输出 'Pyt'(切片,从索引 0 到 2)
    print(s[:3])    # 输出 'Pyt'(省略起始索引)
    print(s[3:])    # 输出 'hon'(省略结束索引)
    

3. 常用字符串操作

a. 拼接和重复

  1. 拼接字符串:使用 + 运算符。
  2. 重复字符串:使用 * 运算符。

示例:

s1 = "Hello"
s2 = "World"
print(s1 + " " + s2)  # 输出 'Hello World'
print(s1 * 3)         # 输出 'HelloHelloHello'

b. 格式化字符串

Python 提供了多种格式化字符串的方法:

  1. % 格式化

    name = "Alice"
    age = 25
    print("Name: %s, Age: %d" % (name, age))  # 输出 'Name: Alice, Age: 25'
    
  2. str.format()

    print("Name: {}, Age: {}".format(name, age))  # 输出 'Name: Alice, Age: 25'
    print("Name: {0}, Age: {1}".format(name, age))  # 使用位置索引
    print("Name: {name}, Age: {age}".format(name=name, age=age))  # 使用关键字
    
  3. f-string(Python 3.6+)

    print(f"Name: {name}, Age: {age}")  # 输出 'Name: Alice, Age: 25'
    

c. 字符串内置方法

Python 提供了丰富的字符串方法:

方法描述
str.lower()转为小写
str.upper()转为大写
str.capitalize()首字母大写
str.title()每个单词的首字母大写
str.strip()移除字符串两端的空格或指定字符
str.lstrip()移除字符串左端的空格或指定字符
str.rstrip()移除字符串右端的空格或指定字符
str.replace(old, new)替换子字符串
str.split(sep)按指定分隔符分割字符串
str.join(iterable)用字符串连接可迭代对象中的元素
str.find(sub)查找子字符串的索引(找不到返回 -1)
str.count(sub)统计子字符串出现的次数
str.startswith(prefix)是否以指定前缀开头
str.endswith(suffix)是否以指定后缀结尾

示例:

s = "  Python is Awesome!  "
print(s.lower())        # 输出 '  python is awesome!  '
print(s.strip())        # 输出 'Python is Awesome!'
print(s.replace("Awesome", "Great"))  # 输出 '  Python is Great!  '
print(s.split())        # 输出 ['Python', 'is', 'Awesome!']
print("-".join(["A", "B", "C"]))  # 输出 'A-B-C'

4. 转义字符

转义字符用于在字符串中表示特殊字符:

转义序列描述
\\反斜杠
\'单引号
\"双引号
\n换行
\t制表符
\r回车

示例:

s = "He said, \"Python is awesome!\""
print(s)  # 输出 He said, "Python is awesome!"

5. 原始字符串

原始字符串以 rR 开头,表示字符串中的转义字符不被处理。

示例:

s = r"C:\Users\name\Desktop"
print(s)  # 输出 'C:\Users\name\Desktop'

6. 字符串编码

字符串在 Python 3 中是以 Unicode 编码的,可以用以下方法处理编码和解码:

  1. 编码(字符串 → 字节):encode()
  2. 解码(字节 → 字符串):decode()

示例:

s = "你好"
b = s.encode("utf-8")  # 编码为字节
print(b)               # 输出 b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(b.decode("utf-8"))  # 解码为字符串,输出 '你好'

7. 字符串的比较与操作

  1. 字符串比较

    • 比较运算符:==, !=, <, >, <=, >=
    • 比较是基于 Unicode 编码值的。
  2. 字符串长度 使用 len() 获取字符串长度:

    s = "Hello"
    print(len(s))  # 输出 5
    
  3. 检查成员 使用 innot in 检查子字符串:

    s = "Python"
    print("Py" in s)      # 输出 True
    print("java" not in s)  # 输出 True
    

通过理解和灵活应用这些字符串操作,可以在 Python 中高效处理和操作文本数据。

标签:输出,String,Python,print,str,字符串,name
From: https://blog.csdn.net/2401_88186301/article/details/144735967

相关文章

  • 写一个js方法将字符串数组与数字数组互转
    在前端开发中,有时需要将字符串数组转换为数字数组,或者将数字数组转换为字符串数组。以下是一个简单的JavaScript方法,用于实现这两种转换://将字符串数组转换为数字数组functionstringArrayToNumberArray(stringArray){returnstringArray.map(item=>{constnumber=......
  • 攻克 LeetCode 186:反转字符串中的单词,你学会了吗?
    一、引言在编程的世界里,LeetCode无疑是一块检验实力的试金石。众多大厂面试中,LeetCode上的题目频繁出现,成为了程序员们迈向心仪岗位的必经之路。今天,我们就来深入剖析一道经典题目——LeetCode186.反转字符串中的单词。这道题看似简单,实则暗藏玄机,它不仅考察了对字符串操......
  • 【C/C++】字符数组和string字符串:从C语言到C++的演变
    字符数组和string字符串:从C语言到C++的演变在C语言和C++的编程中,字符数组和字符串(string)是非常重要的基础数据类型。它们在实际编程中常用于存储和操作文本数据,但是这两种类型的处理方式有所不同。在这篇博客中,我们将详细讲解字符数组和string字符串,从C语言的字符数组到C++......
  • 常见字符串算法简记(持续更新中)
    包含KMP(border相关,KMP自动机),Manacher,Zalgorithm(exKMP),SuffixArray的简单记录。当然写的很烂,欢迎当玩笑看。0.前言1.记一忘三二本文所写的字符串算法都基于一个基本思想:充分利用已知信息的性质加速求出所求信息的过程。这是老生常谈的。因此在这些算法的复杂度分析中主要......
  • 003. 字符串的展开(牛客NOIP2007)
    003.字符串的展开(牛客NOIP2007)题目描述在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为“de......
  • Flutter OHOS flutter_keychain(字符串安全存储)
    flutter_keychain一个支持通过Keychain和Keystore支持字符串安全存储的Flutter插件如果您有其他类型想要存储,则需要序列化为UTF-8字符串。使用import'package:flutter_keychain/flutter_keychain.dart';...//Getvaluevarvalue=awaitFlutterKeychain.get(ke......
  • 模板字符串
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><......
  • Go语言基础数据类型详解:整型、浮点型、复数与字符串
    Go语言基础数据类型详解:整型、浮点型、复数与字符串Go语言作为一门静态强类型的语言,其数据类型设计简洁而高效。掌握Go的基本数据类型是每个开发者深入理解Go语言的基础。本篇文章将详细介绍Go语言中最常见的基本数据类型,包括整型、浮点型、复数、布尔型、字符串等,并结合实例代码......
  • substring( )的两种用法?
    xx.substring()括号中带的参数不一样,效果就会有很大的区别1.xx.substring(0,2)表示取第一个和第二个字符(0,1,2表示第一、二、三个字符,含头不含尾的原则就只包含第一、二个字符),返回一个新的字符串(只包含指定的第一和第二个字符);2.xx.substring(2)表示去掉前两个字符,返回一个新的字......
  • 小U的好字符串
    问题描述小U定义了一个“好字符串”,它的要求是该字符串中不包含任意长度不小于2的回文子串。现在小U拿到了一个字符串,她想知道有多少个非空的子序列是“好字符串”。你的任务是帮助她计算出这些子序列的数量。例如,对于字符串 "aba",它的子序列中除了 "aa" 和 "aba" 以外,......