Python字符串类型及操作

1、字符串类型的表示

  (1)、字符串由0个或多个字符组成的有序字符序列

         - 字符串由一对单引号或一对双引号表示
         "请输入带有符号的温度值: "或者 'C'
        - 字符串是字符的有序序列,可以对其中的字符进行索引
         "" "请输入带有符号的温度值: " 的第0个字符
  (2)、 字符串有 2类共4种 表示方法

         - 由一对单引号或双引号表示,仅表示单行字符串
         "请输入带有符号的温度值: "或者 'C'
         - 由一对三单引号或三双引号表示,可表示多行字符串
         ''' Python

                       语言 '''

         ps:三单引号使用过程中不将该值赋值给变量的话,可以默认当成注释使用(Python事实上没有提供多行注释的方法)

  (3)、- 如果希望在字符串中包含双引号或单引号呢?

         '这里有个双引号(")' 或者 "这里有个单引号(')"

         - 如果希望在字符串中既包括单引号又包括双引号呢?

         ''' 这里既有单引号(')又有双引号 (") '''

         '这里有个双引号(")' 或者 "这里有个单引号(')"

         - 如果希望在字符串中既包括单引号又包括双引号呢?

         ''' 这里既有单引号(')又有双引号 (") '''

  (4)、切片

         - 切片:返回字符串中一段字符子串 <字符串>[M: N]

         "输入带有符号的温度值: "[1:3] 或者 TempStr[0:-1]

  (5)、切片的高级用法: 使用[M: N: K]根据步长对字符串切片

         - <字符串>[M: N],M缺失表示至开头,N缺失表示至结尾

         "〇一二三四五六七八九十"[:3] 结果是 "〇一二"

         - <字符串>[M: N: K],根据步长K对字符串切片
         "〇一二三四五六七八九十"[1:8:2] 结果是 "一三五七"

         "〇一二三四五六七八九十"[::-1] 结果是 "十九八七六五四三二一〇

  (6)、转义符 \

         - 转义符表达特定字符的本意

         "这里有个双引号(\")" 结果为 这里有个双引号(")

         - 转义符形成一些组合,表达一些不可打印的含义
         "\b"回退       "\n"换行(光标移动到下行首)       "\r" 回车(光标移动到本行首)


2、字符串操作符

  (1)、

操作符及使用 描述
x + y 连接两个字符串x和y
n * x x * n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False

  (2)、获取字符串例子:获取星期字符串

         - 输入:1-7的整数,表示星期几
         - 输出:输入整数对应的星期字符串
         - 例如:输入3,输出 星期三

        #WeekNamePrintV1.py
        weekStr = "星期一星期二星期三星期四星期五星期六星期日"
        weekId = eval(input("请输入星期数字(1-7):"))
        pos = (weekId – 1 ) * 3
        print(weekStr[pos: pos+3])
         or:
        #WeekNamePrintV2.py
        weekStr = "一二三四五六日"
        weekId = eval(input("请输入星期数字(1-7):"))
        print("星期" + weekStr[weekId-1])

3、字符串操作函数

函数及使用 描述
len(x) 长度,返回字符串x的长度
len("一二三456") 结果为 6
str(x) 任意类型x所对应的字符串形式
str(1.23)结果为"1.23" str([1,2])结果为"[1,2]"
hex(x) oct(x) 整数x的十六进制或八进制小写形式字符串
hex(425)结果为"0x1a9" oct(425)结果为"0o651"
函数及使用 描述
chr(u) x为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码

4、字符串处理方法

  (1)、"方法"在编程中是一个专有名词

         - "方法"特指<a>.<b>()风格中的函数<b>()
         - 方法本身也是函数,但与<a>有关,<a>.<b>()风格使用

         - 字符串及变量也是<a>,存在一些方法

  (2)、字符串处理方法

方法及使用 描述
str.lower() str.upper() 返回字符串的副本,全部字符小写/大写
"AbCdEfGh".lower() 结果为 "abcdefgh"
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成
"A,B,C".split(",") 结果为 ['A','B','C']
str.count(sub) 返回子串sub在str中出现的次数
"a apple a day".count("a") 结果为 4
方法及使用 描述
str.replace(old, new) 返回字符串str副本,所有old子串被替换为new
"python".replace("n","n123.io") 结果为
"python123.io"
str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar可选
"python".center(20,"=") 结果为
'=======python======='
方法及使用 描述
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符
"= python= ".strip(" =np") 结果为
"ytho"
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str
",".join("12345") 结果为
"1,2,3,4,5" #主要用于字符串分隔等

         ps:关于str.split()的一些测

        >>> 'abcdefg'.split()
        ['abcdefg']
        >>> 'a,b,c,d,e,f,g'.split()
        ['a,b,c,d,e,f,g']
        >>> 'a,b,c,d,e,f,g'.split(',')
        ['a', 'b', 'c', 'd', 'e', 'f', 'g']
        >>> 'a b c d e f g'.split()
        ['a', 'b', 'c', 'd', 'e', 'f', 'g']


5、字符串类型的格式化

  (1)、字符串格式化使用.format()方法,用法如下:

         <模板字符串>.format(<逗号分隔的参数>)

  (2)、槽     指字符串格式化中的 { }

         

         参数的顺序也可以自己定义


  

  (3)、槽内部对格式化的配置方式

         { <参数序号> : <格式控制标记>}


        >>>"{0:=^20}".format("PYTHON")
        '=======PYTHON======='
        >>>"{0:*>20}".format("BIT")
        '*****************BIT‘
        >>>"{:10}".format("BIT")
        'BIT '
        >>>"{0:,.2f}".format(12345.6789)
        '12,345.68'
        >>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
        '110101001,Ʃ,425,651,1a9,1A9'
        >>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
        '3.140000e+00,3.140000E+00,3.140000,314.000000%'

猜你喜欢

转载自blog.csdn.net/messinine/article/details/80330747