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

python3的url编码和解码,自定义gbk、utf-8的例子 https://www.jb51.net/article/168181.htm

字符串运算:下标和切片

获取字符串中某个字符

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

# 获取字符串某个字符
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.jb51.net/article/169790.htm

到此这篇关于Python - 基本数据类型_str 字符串的文章就介绍到这了,更多相关Python字符串str内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-07-18

python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用

在抓取网络数据的时候,有时会用正则对结构化的数据进行提取,比如 href="https://www.1234.com"等.python的re模块的findall()函数会返回一个所有匹配到的内容的列表,在将数据存入数据库时,列表数据类型是不被允许的,而是需要将其转换为元组形式.下面看下,str/list/tuple三者之间怎么相互转换. class forDatas: def __init__(self): pass def str_list_tuple(self): s = 'abc

详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法

前提: list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了. list和array的不同: 在进行转换之间先研究下python中list和array(np.array)的不同: 1.list是python中内置的数据类型,其中的数据的类型可以不相同,如java中List也可以不用相同的数据,但是为了格式的统一,就要用到泛型或者Arra

Python格式化字符串f-string概览(小结)

简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便.f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While

python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)

python3 json数据格式的转换(dumps/loads的使用.dict to str/str to dict.json字符串/字典的相互转换) Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码. json.loads(): 对数据进

python3格式化字符串 f-string的高级用法(推荐)

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便. f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While ot

python字符串切割:str.split()与re.split()的对比分析

1.str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况. >>> s1="aa bb cc" >>> s1.split(' ') ['aa', 'bb', '', 'cc'] 因此split只适合简单的字符分割 2.re.split,支持正则及多个字符切割 >>> print line abc aa;bb,cc | dd(xx).xxx 12.12' xxxx 按空格切 >>&

python 字符串常用函数详解

字符串常用函数: 声明变量 str="Hello World" find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1 str.find("Hello") # 返回值:0 str.find("W") # 返回值:6, 这里需要注意下:空格也是一个字符.W前面有个空格,所以W位置是6 str.find("R") # 返回值:-1,并不包含在Hello World中,如果不包含返回-1 index() 检测字符串是

python字符串判断密码强弱

本文实例为大家分享了Python密码强弱判断的具体代码,供大家参考,具体内容如下 程序说明:通过获取用户输入,判断密码长度是否大于8,同时判断其中是否包含数字和字母,并返回相关信息. [相关知识点] Python字符串: str.isnumeric() -----检测字符串是否只有数字 返回True or False(注意是只有数字) str.isalpha() -----检测字符串中是否只有字母 返回True or False str.islower() -----检测字符串中是否都为小写 s

Python字符串split及rsplit方法原理详解

1.描述 split()方法通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符串,默认分隔符为所有空字符,包括空格.换行(\n).制表符(\t)等 rstrip()方法通过 2.语法 str.split([sep=None][,count=S.count(sep)]) str.rsplit([sep=None][,count=S.count(sep)]) 3.参数 sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格.换行(\n).制表符(\t)等 c

python字符串str和字节数组相互转化方法

实例如下: # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8") # an alternative method # str to bytes str.encode(s) # bytes to str

python实现提取str字符串/json中多级目录下的某个值

字符串多级目录取值: 比如说: 你response接收到的数据是这样的. 你现在只需要取到itemstring 这个字段下的值.其他的都不要! 思路就是:字符串是个json格式(或转为json格式),然后str转为字典dict,然后循环遍历按照key来取值. 你的data是个字典 然后item_list是data的Key ,item_list是个数组,这个里面的数组中的每个元素都是一个字典. 因此就是dict多级路径按key取值. # 多级目录提取-dict print(type(respons

JavaScript 字符串与数组转换函数[不用split与join]

两个自定义的实现字符串与数组相互转换的js函数,希望能对大家有用: 复制代码 代码如下: function StringToArray(str,substr) { /* 函数功能:字符串按照指定字符串分割转换为数组 参数: str :需转换的字符串 substr:分割字符串 返回值: 转换后的数组 */ var arrTmp = new Array(); if(substr=="") { arrTmp.push(str); return arrTmp; } var i=0, j=0,

python字符串分割及字符串的一些常规方法

字符串分割,将一个字符串分裂成多个字符串组成的列表,可以理解为字符串转列表,经常会用到 语法:str.split(sep, [,max]),sep可以指定切割的符号,max可以指定切割的次数(次数不常用) 不带参数时以空格进行分割 带参数时,以该参数进行分割 未查询到分隔符时,列表只包含原始字符串 source ="1,2,3,4,5,,6" print source.split(',') #按照索引取值[] source ="1,2,3,4,5,,6" print

Python字符串的常见操作实例小结

本文实例讲述了Python字符串的常见操作.分享给大家供大家参考,具体如下: 如果我们想要查看以下功能:help(mystr .find) 1.find 例: mystr="hello world itcast" print(mystr.find("world")) 结果为 6 find括号中填写要查找的内容,如果找不到返回-1,找到返回从左往右找到的第一个位置 2.index 功能和find一样,只是找不到时,这个返回错误 3.rfind 从右往左找的第一个位置