Python - 基础数据类型 str 字符串

前言

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

 

字符串的表示方式

  • 单引号 ' ' 
  • 双引号 " " 
  • 多引号 """ """"  、 ''' ''' 
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

 

字符串运算:+ 运算

直接拼接的作用

# + 运算
print("123" + "123")
print("123" + "abc")
print("123", "456")


# 输出结果
123123
123abc
123 456

 

字符串运算:下标和切片

获取字符串中某个字符

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

# 获取字符串某个字符
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, end) 范围的子字符串
  • start:闭区间,包含该下标的字符,第一个字符是 0
  • end:开区间,不包含该下标的字符
  • step:步长,设为 n,则每隔 n 个元素获取一次

 

栗子

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

 

 

获取字符串长度

print(len("123"))

# 输出结果
3

 

字符串的函数

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

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

 

posted @ 2021-07-18 17:33  小菠萝测试笔记  阅读(2259)  评论(1编辑  收藏  举报