Python数据结构之字符串类型(str)

字符串类型(str)

  • 字符串说明

  • 转义字符

  • 字符串运算符

  • 字符串格式化

  • 字符串内置的函数

一.字符串说明

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

  创建字符串,只需要为变量赋值即可,如:Str = "hello world"

  访问字符串中的值:

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

>>> print("hello world")
hello world

  字符串更新:

  可以截取字符串的一部分并与其他字段拼接,如下实例:

>>> print("hello world" + " 你好,中国")
hello world 你好,中国

二.转义字符

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

三.字符串运算符

下表实例变量a值为字符串 "Hello",b变量值为 "Python":

四.字符串格式化

  Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

  在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

>>> print("中国的首都是%s" % ("北京"))
中国的首都是北京

  python字符串格式化符号:

  格式化操作符辅助指令:

五.字符串内置的函数

  1.capitalize(self)

  说明:将字符串的第一个字符转换为大写,其他字母变成小写;注意的是并不会改变原字符串内容;

  语法:str.capitalize()

  返回值:该方法返回一个首字母大写的字符串;

  实例:

>>> S = "hello WoRld"
>>> print(S.capitalize())
Hello world

  2.casefold(self)

  说明:将字符串中的所有大写字符转换为小写字符;注意的是并不会改变原字符串内容;

  语法:str.casefold()

  返回值:返回将字符串中所有大写字符转换为小写后生成的字符串;

  实例:

>>> S = "hello WoRld"
>>> print(S.casefold())
hello world

  3.center(self, width, fillchar=None)

  说明:返回一个指定的宽度width且居中的字符串,fillchar为填充的字符,默认为空格;

  语法:str.center(width,fillchar)

  返回值:返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。

  实例:

>>> print("今日头条".center(40,"*"))
******************今日头条******************

  4.count(self, sub, start=None, end=None)

  说明:用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

  语法:str.count(sub,start=None, end=None)

  参数:sub  -----> 要搜索的子字符串;

     start -----> 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0;

     end ------> 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置;

    返回值:返回子字符串在字符串中出现的次数;

  实例:

>>> print(ss.count("a"))
2
>>> print(ss.count("a",0,8))
1

  5.encode(self, encoding='utf-8', errors='strict')

  说明:以指定的编码格式来编码字符串。errors参数可以指定不同的错误处理方案。

  语法:str.encode(encoding='utf-8', errors='strict')

  参数:encoding -----> 要使用的编码,如:UTF-8

     errors -----> 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace',              'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。

  返回值:返回编码后的字符串,是一个 bytes 对象

  实例:

>>> abc = "灯火阑珊"
>>> abc_utf8 = abc.encode("UTF-8")
>>> abc_gbk = abc.encode("GBK")
>>> print(abc)
灯火阑珊
>>> print(abc_utf8)
b'\xe7\x81\xaf\xe7\x81\xab\xe9\x98\x91\xe7\x8f\x8a'
>>> print(abc_gbk)
b'\xb5\xc6\xbb\xf0\xc0\xbb\xc9\xba'

  6.decode(self, decoding='utf-8', errors='strict')

  说明:以指定的编码格式来解码字符串。errors参数可以指定不同的错误处理方案。

  语法:bytes.decode(encoding="utf-8", errors="strict")

  参数:encoding -----> 要使用的编码,如:UTF-8

     errors -----> 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace',                                            'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。

  返回值:返回解码后的字符串;

  实例:

>>> print(abc_gbk.decode("GBK"))
灯火阑珊
>>> print(abc_utf8.decode("UTF-8"))
灯火阑珊

  7.endswith(self, suffix, start=None, end=None)

  说明:用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False;

  语法:str.endswith(suffix,start=None, end=None)

  参数:suffix -----> 该参数可以是一个字符串或者是一个元素;

        start ------> 字符串中的开始位置;

        end  ------> 字符中结束位置

  返回值:如果字符串含有指定的后缀返回True,否则返回False;

  实例:

>>> end = "hello world"
>>> print(end.endswith("ld"))
True
>>> print(end.endswith("ld",0,10))
False

  8.expandtabs(self, tabsize=8)

  说明:把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8;

  语法:str.expandtabs(tabsize=8)

  参数:tabszie -----> 指定转换字符串中的 tab 符号('\t')转为空格的字符数;

  返回值:返回字符串中的 tab 符号('\t')转为空格后生成的新字符串;

  实例:

>>> ss = "this is \tstring example"
>>> print(ss)
this is     string example
>>> print(ss.expandtabs(0))
this is string example
>>> print(ss.expandtabs(20))
this is             string example

  9.find(self, sub, start=None, end=None)

  说明:检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

  语法:str.find(sub, start=None, end=None)

  参数:sub ------> 指定检索的字符串;

     start -----> 指定开始索引位置,默认为0

     end  -----> 指定结束索引位置,默认为字符串长度,len(str)

  返回值:如果包含子字符串返回开始的索引值,否则返回-1;

  实例:

>>> str1 = "Life is too short for python"
>>> print(str1.find("short"))
12
>>> print(str1.find("short",5,19))
12
>>> print(str1.find("short",17,19))
-1

  10.format(self, *args, **kwargs)

  说明:

猜你喜欢

转载自www.cnblogs.com/zhangjunkang/p/9381838.html