6 Python 数据类型—字符串

  字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或")来创建字符串。

  创建字符串很简单,只要为变量分配一个值即可。

  var1 = ‘Hello World!‘ var2 = "Python Runoob"

Python访问字符串中的值

  Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。

  Python访问子字符串,可以使用方括号来截取字符串

1 var1 = ‘Hello World!‘
2 var2 = "Python Runoob"
3
4 print "var1[0]: ", var1[0]
5 print "var2[1:5]: ", var2[1:5]

Python字符串更新

  你可以对已存在的字符串进行修改,并赋值给另一个变量

1 var1 = ‘Hello World!‘
2
3 print "更新字符串 :- ", var1[:6] + ‘Runoob!‘

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\‘ 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

Python字符串运算符

操作符 描述 实例
+ 字符串连接
>>>a + b ‘HelloPython‘
* 重复输出字符串
>>>a * 2 ‘HelloHello‘
[] 通过索引获取字符串中字符
>>>a[1] ‘e‘
[ : ] 截取字符串中的一部分
>>>a[1:4] ‘ell‘
in 成员运算符 - 如果字符串中包含给定的字符返回 True
>>>"H" in a True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
>>>"M" not in a True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
>>>print r‘\n‘ \n >>> print R‘\n‘ \n
% 格式字符串  

python字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零(‘0‘),在十六进制前面显示‘0x‘或者‘0X‘(取决于用的是‘x‘还是‘X‘)
0 显示的数字前面填充‘0‘而不是默认的空格
% ‘%%‘输出一个单一的‘%‘
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

  Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。


Python三引号(triple quotes)

  python中三引号可以将复杂的字符串进行复制:

  python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

  三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

  三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

  一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐

 1  errHTML = ‘‘‘
 2 <HTML><HEAD><TITLE>
 3 Friends CGI Demo</TITLE></HEAD>
 4 <BODY><H3>ERROR</H3>
 5 <B>%s</B><P>
 6 <FORM><INPUT TYPE=button VALUE=Back
 7 ONCLICK="window.history.back()"></FORM>
 8 </BODY></HTML>
 9 ‘‘‘
10 cursor.execute(‘‘‘
11 CREATE TABLE users (
12 login VARCHAR(8),
13 uid INTEGER,
14 prid INTEGER)
15 ‘‘‘)

Unicode 字符串

  Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

  引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。

  被替换的 \u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)

1 u‘Hello\u0020World !‘
2 u‘Hello World !‘

python的字符串内建函数

方法 描述

string.capitalize()


把字符串的第一个字符大写


string.center(width)


返回一个原字符串居中,并使用空格填充至长度 width 的新字符串


string.count(str, beg=0, end=len(string))


返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数


string.decode(encoding=‘UTF-8‘, errors=‘strict‘)


以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 ‘ignore‘ 或 者‘replace‘


string.encode(encoding=‘UTF-8‘, errors=‘strict‘)


以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是‘ignore‘或者‘replace‘


string.endswith(obj, beg=0, end=len(string))


检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.


string.expandtabs(tabsize=8)


把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。


string.find(str, beg=0, end=len(string))


检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1


string.format()


格式化字符串


string.index(str, beg=0, end=len(string))


跟find()方法一样,只不过如果str不在 string中会报一个异常.


string.isalnum()


如果 string 至少有一个字符并且所有字符都是字母或数字则返

回 True,否则返回 False


string.isalpha()


如果 string 至少有一个字符并且所有字符都是字母则返回 True,

否则返回 False


string.isdecimal()


如果 string 只包含十进制数字则返回 True 否则返回 False.


string.isdigit()


如果 string 只包含数字则返回 True 否则返回 False.


string.islower()


如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False


string.isnumeric()


如果 string 中只包含数字字符,则返回 True,否则返回 False


string.isspace()


如果 string 中只包含空格,则返回 True,否则返回 False.


string.istitle()


如果 string 是标题化的(见 title())则返回 True,否则返回 False


string.isupper()


如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False


string.join(seq)


以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串


string.ljust(width)


返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串


string.lower()


转换 string 中所有大写字符为小写.


string.lstrip()


截掉 string 左边的空格


string.maketrans(intab, outtab])


maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。


max(str)


返回字符串 str 中最大的字母。


min(str)


返回字符串 str 中最小的字母。


string.partition(str)


有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.


string.replace(str1, str2,  num=string.count(str1))


把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.


string.rfind(str, beg=0,end=len(string) )


类似于 find()函数,不过是从右边开始查找.


string.rindex( str, beg=0,end=len(string))


类似于 index(),不过是从右边开始.


string.rjust(width)


返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串


string.rpartition(str)


类似于 partition()函数,不过是从右边开始查找.


string.rstrip()


删除 string 字符串末尾的空格.


string.split(str="", num=string.count(str))


以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串


string.splitlines([keepends])


按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。


string.startswith(obj, beg=0,end=len(string))


检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.


string.strip([obj])


在 string 上执行 lstrip()和 rstrip()


string.swapcase()


翻转 string 中的大小写


string.title()


返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())


string.translate(str, del="")


根据 str 给出的表(包含 256 个字符)转换 string 的字符,

要过滤掉的字符放到 del 参数中


string.upper()


转换 string 中的小写字母为大写


string.zfill(width)


返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0


string.isdecimal()


isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。

时间: 2024-10-03 13:10:05

6 Python 数据类型—字符串的相关文章

小白从零开始学编程(五)--python数据类型--字符串

前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和Flask两个当前最热的web框架完成一个小的项目 第二个系列:可能会选择Go语言,也可能会选择Vue.js.具体情况待定,拭目以待吧... 基本概念 字符串时候Python中最常见的数据类型,通过引号间包含字符串的方式就可以创建一个字符串数据,因为python中没有字符这个数据类型,所以单引号和双引号的作用是

python数据类型-字符串常用操作

这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 = "hello bei jing " name2 = '''hello shang hai haha''' python中的字符串一旦声明,是不能进行更改的,如下: #字符串为不可变变量,即不能通过对某一位置重新赋值改变内容 name = 'hello' name[0] = 'k' #通

python数据类型-字符串

1.字符串 字符串看似简单,但能以多种方式引用.字符串就是一系列的字符,在python中,用单引号或者双引号括起来的都是字符串.例如: 这种单双引号互用,可以让我们在字符串使用过程中更加灵活多变,适用于多种场景.例如: python中提供了许多的内置函数来处理字符串,下面我们看看常用的字符串处理方法: 1.1 使用内置函数方法修改字符串的大小写:title().upper().lower() 调用title()方法将每个单词的首字母转成大写后输出结果如下图: 在这个实例中,小写的字符串先存储在f

Python数据类型方法简介一————字符串的用法详解

符串是Python中的重要的数据类型之一,并且字符串是不可修改的. 字符串就是引号(单.双和三引号)之间的字符集合.(字符串必须在引号之内,引号必须成对) 注:单.双和三引号在使用上并无太大的区别: 引号之间可以采取交叉使用的方式避免过多转义: 单.双引号实现换行必须使用续行符,而三引号可直接续行不必使用续行符号. a. count,统计字符或子字符串在字符串中出现的次数 格式:S.count(sub[, start[, end]]) -> int sub 是字符串中要查询的子字符串  star

Python 变量 数据类型-字符串 二

这是12月规划的内容,2018年一月开篇~ 如果有什么错误,还请提出来~ Python print函数 一 Python 中的变量赋值不需要类型声明,好了知道这个就可以了 我们还可以看一看类型 1 num=1.233 2 str="1.233" 3 print(type(num)) 4 print(type(str)) <class 'float'> <class 'str'> 数据类型-字符串 单引号,双引号用法相同 1 str="1.233&quo

Python数据类型的内置函数之str(字符串)

Python数据类型内置函数 - str(字符串函数) - list(列表函数) - tuple(元组函数) - dict(字典函数) - set(收集函数) (str)字符串的一些操作 - 字符串相连方法 1 # 字符串的相连 2 str_1 = "I am" 3 str_2 = "string practice" 4 5 print(str_1 + str_2) 6 # 执行的结果 7 I amstring practice 8 # 可以在中间用空格隔开 9 p

Python新手学习基础之数据类型——字符串类型

Python中字符串被定义为引号之间的字符集合,可以用 ' (一对单引号)或 " (一对双引号)括起来,字符串也可以被 """ (一对三个双引号)或者 ''' (一对三个单引号)括起来.使用索引运算符([ ])和切片运算符([ : ])可以得到子字符串.在Python中,字符串第一个字符的索引是0,而最后一个字符的索引是-1.索引和切片会在后面的文章中进行讲解. 让我们先来创建下字符串吧!例如: str1 = 'maya'   srt2 = 'coder' 字符串也

Python新手学习基础之数据类型——字符串的切片截取

切片截取是Python中字符串常见的一些操作,我们会在这篇文章里详细介绍,切片截取的作用是获取子字符或子字符串. 实际上,我们要做的就是使用索引,用冒号分隔两个索引,形式为:变量[头下标:尾下标],冒号之前的数字表示开始的位置,冒号之后的数字表示结束的位置.这是一个左闭右开区间,也就是说这个字符串包含头下标,但是不包含尾下标. Python的数据有两种索引方式:最左边以0开始,依次增加:最右边的元素索引为-1,往左依次减少. Python的索引很灵活,可以根据具体情况来选择相应的索引方式. 字符

Python数据类型及其方法详解

Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知识回顾. 一.整型和长整型 整型:数据是不包含小数部分的数值型数据,比如我们所说的1.2.3.4.122,其type为"int" 长整型:也是一种数字型数据,但是一般数字很大,其type为"long" 在python2中区分整型和长整型,在32位的机器上,取值范围是-2