前言

字符串是编程中最重要的数据类型,也是最常见的

字符串的表示方式

  • 单引号 ' '
  • 双引号 " "
  • 多引号 """ """"  、 ''' '''
print("hello world")
print('hello world')
print("""hello world""") # 输出结果
hello world
hello world
hello world

为什么需要单引号,又需要双引号

因为可以在单引号中包含双引号,或者在双引号中包含单引号

# 单双引号
print("hello 'poloyy' world")
print('this is my name "poloyy"') # 输出结果
hello 'poloyy' world
this is my name "poloyy"

多行字符串

正常情况下,单引号和双引号的字符串是不支持直接在符号间换行输入的,如果有需要可以用多引号哦!

# 多行字符串
print("""
hello
world
""")
print("""
this
is
my
name
poloyy
""") # 输出结果
hello
world this
is
my
name
poloyy

转义符

在字符前加 \ 就行

常见的有

  • \n:换行
  • \t:缩进
  • \r:回车

栗子

比如在字符串双引号间还有一个双引号,就需要用转义符

# 转义符
print("hello \"poloyy\" world")
print('my name is \'poloyy\'') # 输出结果
hello "poloyy" world
my name is 'poloyy'

假设 \ 只想当普通字符处理呢?

print("反斜杠 \\ 是什么")
print("换行符是什么 \\n") # 输出结果
反斜杠 \ 是什么
换行符是什么 \n

window 路径的栗子

print("c:\nothing\rtype")
print("c:\\nothing\\rtype") # 输出结果
c:\nothing\
c:
type
c:\nothing\rtype

更简洁的解决方法

用转义符会导致可读性、维护性变差,Python 提供了一个更好的解决方法:在字符串前加 r

print(r"c:\nothing\rtype")

# 输出结果
c:\nothing\rtype

关于更多 r"" 的讲解请看:https://www.cnblogs.com/poloyy/p/12444579.html

字符串运算:下标和切片

获取字符串中某个字符

字符串是一个序列,所以可以通过下标来获取某个字符

# 获取字符串某个字符
str = "hello world"
print(str[0])
print(str[1])
print(str[6])
print(str[-1])
print(str[-5]) # 输出结果
h
e
w
d
l

如果是负数,那么是倒数,比如 -1 就是倒数第一个元素,-5 就是倒数第五个元素

获取字符串中一段字符

Python 中,可以直接通过切片的方式取一段字符

切片的语法格式

str[start : end : step]
  • start:闭区间,包含该下标的字符,第一个字符是 0
  • end:开区间,不包含该下标的字符
  • step:步长

栗子

print("hello world'[:] ", 'hello world'[:])  # 取全部字符
print("hello world'[0:] ", 'hello world'[0:]) # 取全部字符
print("hello world'[6:] ", 'hello world'[6:]) # 取第 7 个字符到最后一个字符
print("hello world'[-5:] ", 'hello world'[-5:]) # 取倒数第 5 个字符到最后一个字符 print("hello world'[0:5] ", 'hello world'[0:5]) # 取第 1 个字符到第 5 个字符
print("hello world'[0:-5] ", 'hello world'[0:-5]) # 取第 1 个字符直到倒数第 6 个字符
print("hello world'[6:10] ", 'hello world'[6:10]) # 取第 7 个字符到第 10 个字符
print("hello world'[6:-1] ", 'hello world'[6:-1]) # 取第 7 个字符到倒数第 2 个字符
print("hello world'[-5:-1] ", 'hello world'[-5:-1]) # 取倒数第 5 个字符到倒数第 2 个字符 print("hello world'[::-1] ", 'hello world'[::-1]) # 倒序取所有字符
print("hello world'[::2] ", 'hello world'[::2]) # 步长=2,每两个字符取一次
print("hello world'[1:7:2] ", 'hello world'[1:7:2]) # 步长=2,取第 2 个字符到第 7 个字符,每两个字符取一次 # 输出结果
hello world'[:] hello world
hello world'[0:] hello world
hello world'[6:] world
hello world'[-5:] world hello world'[0:5] hello
hello world'[0:-5] hello
hello world'[6:10] worl
hello world'[6:-1] worl
hello world'[-5:-1] worl hello world'[::-1] dlrow olleh
hello world'[::2] hlowrd
hello world'[1:7:2] el

字符串的函数

Python 提供了很多内置的字符串函数,具体可看

https://www.cnblogs.com/poloyy/p/12523095.html

 

Python - 基本数据类型_str 字符串的更多相关文章

  1. python基本数据类型之字符串(五)

    python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字 ...

  2. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  3. python基本数据类型之字符串(三)

    python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法 ...

  4. python基本数据类型之字符串(二)

    python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).str ...

  5. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

  6. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  7. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

  8. Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)

    数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...

  9. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

随机推荐

  1. VMware虚拟机CentOS磁盘扩容

    版本信息: VMware Workstation 15 Pro  15.5.2 build-15785246, CentOS7 原虚拟机默认20G,安装东西多了,磁盘空间不够用, docker mys ...

  2. GO学习-(30) Go语言操作kafka

    go操作kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能.持久化.多副本备份.横向扩展等特点.本文介绍了如何使用Go语言发送和接收 ...

  3. 【注意力机制】Attention Augmented Convolutional Networks

    注意力机制之Attention Augmented Convolutional Networks 原始链接:https://www.yuque.com/lart/papers/aaconv 核心内容 ...

  4. 五、SVM推导过程

    SVM 时间复杂度一般为O(N³) 最重要的是推导过程 NIPS(机器学习顶级会议) 如果给定一个训练集,我们的目标是给定一个边界(一条线),离他最近的训练集样本路越宽越好 下面的几张图反映了SVM的 ...

  5. 达芬奇架构NPU

    达芬奇架构NPU 达芬奇架构的核心优势是什么?如何更好地赋能麒麟990? 达芬奇架构,是华为自研的面向AI计算特征的全新计算架构,具备高算力.高能效.灵活可裁剪的特性,是实现万物智能的重要基础.具体来 ...

  6. ADAS超声波雷达

    ADAS超声波雷达 在倒车入库,慢慢挪动车子的过程中,在驾驶室内能听到"滴滴滴"的声音,这些声音就是根据超声波雷达的检测距离给司机的反馈信息. 倒车雷达系统,英文全称为REVERS ...

  7. ADAS测试

    ADAS测试 1.  ADAS​和​自动​驾驶​测试 AD​和​高级​驾驶​辅助​系统​(ADAS)​正在​不断​增加​新的​雷达.​摄像​头.​激光​雷达​和​GNSS​传感器,​甚至​也在​改变​ ...

  8. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库

    在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...

  9. hashmap专题

    hashmap重要变量 源码中定义了很多常量,有几个是特别重要的. DEFAULT_INITIAL_CAPACITY: Table数组的初始化长度: 1 << 4,即 2^4=16(这里可 ...

  10. 性能分析之CPU分析-从CPU调用高到具体代码行(C/C++)

    今天在培训的过程中,也提到了分析要具体到代码的事情,如果思路方向是正确的,对java应用和C/C++应用来说,也是几个命令就可以跳到代码行了.前提是要能看得懂堆栈信息.所以一直以来我在讲课的过程中都有 ...