Python_字符串

字符串

作用:用来表示文字信息
-如何表示
-单引号
-双引号
-三引号(三个单引号或者三个双引号)
-能够扩起多行信息
-单引号交错使用
-单双引号一定是配对的,单对单,双对双

1、字符串赋值
is即判断是否是同一个对象,相同则返回Ture,不同则False
执行下面赋值语句 :

a = 'banana'
b = 'banana'
a is b
      Ture
      #表示a和b具有相同的值,Python只创建了一个对象,a和b都指向它

2、字符串的序号
一段字符串有正向递增序号(0—n)和反向递减序号(-1—-(n+1))

3、转义字符
转义字符表达特定字符的本意

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

这里有个双引号(")

-所以反双斜杠\表示
-转义符形成一些组合,表示一些不可打印的含义
-"\b"回退 "\n"换行(光标移到下行首) "\r"回车(光标移动到本行首)
-同时不同系统换行不同
- windows:\n
-Linux: \r\n

4、字符串的格式法
把字符串按照一定格式打印或者填充
格式化由两种方法
利用百分号(%)
利用format函数
-利用百分号格式化
%d: 此处应该放入一个整数
%s: 表示此处应该放入一个字符串

 -例1:
        x = "I love %s"
        print(x)
        print( x%"you")
        I love %s
        I love you
-例2:
      x = "I am %d years old"
      print(x)
      print(x%18)
       I am %d years old
       I am 18 years old
-例3:
      x = "I am %s, i am %d years old"
      print(x)
      print(x%("ant", 18))
       I am %s, i am %d years old
       I am ant, i am 18 years old

5、format函数格式化字符串*
1、直接用format函数进行格式化
推荐使用这种方法
-槽{ }
-字符串中槽{ }默认的顺序为(0—n),对应后面format( )中各字符串
-例:

        print("{:}:计算机{:}的CPU占用率为{:}%".format("2018-9-23","C","10"))
       2018-9-23:计算机C的CPU占用率为10%

-也可自己编号对号入座

     print("{1:}:计算机{0:}的CPU占用率为{2:}%".format("2018-9-23","C","10"))
      C:计算机2018-9-23的CPU占用率为10%

2、format()方法的格式控制

{位次:填充字符对齐宽度}
引导符号
填充,用于填充的字符
对齐,<左对齐,>右对齐,^居中对齐
宽度:槽设定的输出宽度
例:

       print("{0:=^20}".format("PYTHON"))
       print("{0:*>20}".format("PYTHON"))
       print("{0: 10}".format("PYTHON"))
    =======PYTHON=======
    **************PYTHON
    PYTHON  

数字的千位分隔符< , >
浮点数小数精度或字符串最大输出长度< .精度>
整数类型 二进制b,c,整数d,八进制o,十六进制x,X
浮点数类型十次方e,E,f,%
例:

      print("{0:,.2f}".format(12345.6789))
      print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
      print("{0:e},{0:E},{0:f},{0:%}".format(3.14))
   12,345.68
   110101001,Ʃ,425,651,1a9,1A9
   3.140000e+00,3.140000E+00,3.140000,314.000000%

注:{次序:千位分隔符.精度数字类型}
填充格式在数字格式之前,并且数字格式,只针对数字型处理,需要用到eval()函数等

6、字符串切片
使用<字符串>[M:N:K]根据步长K对字符串切片
表示字符串M位置到N-1位置(即N位置的前一个位置),注意字符串正向0开头
<字符串>[M:N:K],M缺失表示至开头,N缺失表示至结尾,K缺失表示默认步长为1,步长为-1时,即倒序输出
例:

     print("〇一二三四五六七八九十"[:3])
     print("〇一二三四五六七八九十"[1:8:2])
     print("〇一二三四五六七八九十"[::-1])
     print("〇一二三四五六七八九十"[10:0:-1])
    〇一二
    一三五七
    十九八七六五四三二一〇
    十九八七六五四三二一

7、字符串操作符
x + y 连接两个字符串x和y
n * x或x * n 复制n次字符串x
x in s 如果x 是s的子串,返回Ture,否则返回False

-字符串处理函数
-len(x) 长度,返回字符串x的长度

    len("一二三456")
   #  6

-str(x) 返回任意类型x所对应的字符串形式

    str(1.23)
   #   '1.23'
   str([1,2])
   #  '[1, 2]'

-oct(x) 或hex(x)整数x的八进制或十六进制小写形式字符串

   hex(425)
  #  '0x1a9'
   oct(425)
  # '0o651'

-chr(u) u为Unicode编码,返回其对应的字符

    chr(65)
    # 'A'

-ord(x) x为单字符(多个字符则出错),返回其对应的Unicode编码

  ord("A")
 #  65

8、字符串处理方法
1、str.lower()返回字符串的副本,全部字符小写

 "AbCdEfGh".lower()
  # 'abcdefgh'

2、str.upper()返回字符串的副本,全部字符大写

   "AbCdEfGh". upper()
  #  'ABCDEFGH'

3、str.split(str="", num=string.count(str))
其中str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

  • num – 分割次数。通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num+1 个子字符串。
  • 最后返回分割后的字符串列表,并且各字符串由空格(形式上看上去是逗号)隔开。
    例1:
"A,B,C".split()
['A,B,C']  #前面的字符串中没空格即未找到分隔符,这被当做一个字符串返回字符串列表

例2:

"A B C".split()
['A', 'B', 'C']  #分隔符默认为空格,这遇见空格就删除,然后分隔出来作为单个字符串,最后每个字符串用空格隔开

例3:

str = "this is string example....wow!!!"
print (str.split('i',1))
print (str.split('w'))
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']

4、str.count(sub)返回子串sub在str中出现的次数

   "a apple a day".count("a")
    #  4

5、str.replace(old,new)返回字符串str副本,所有old子串被替换为new

   "python".replace("n","n123,io")
    #  'python123,io'

6、str.center(width[,fillchar])字符串str根据宽度width居中,fillchar可选,无fillchar即默认为空格填充

    "python".center(20,"=")
      '=======python======='

7、str.strip(chars)从str中去掉在其从最左侧和最右侧数起char中列出的字符,如果其最左最右侧没char中列出的字符,则该侧就不去掉字符,即使str中间包含有char列出的字符
例1:

     "= python= ".strip("  =np")
    #   'ytho'

例2:

     "= python= ".strip("=")
    #  ' python= '

例3:

     "= python= ".strip("p")
     #   '= python= '

8、str.rstrip([chars])删除 str字符串末尾的指定字符(默认为空格,返回删除 str 字符串末尾的指定字符chars(默认为空格)后生成的新字符串。
例1:

str = "     this is string example....wow!!!     "
str.rstrip()
            this is string example....wow!!!

例2:

 str = "88888888this is string example....wow!!!8888888"   
 str.rstrip(8) 
        88888888this is string example....wow!!!

9、str.join(iter)在iter变量除最后元素外每个元素后增加一个str

     "#".join("12345")
      '1#2#3#4#5'

10、str.startswith(s, beg=0,end=len(str)) 用于检查字符串str是否是以指定子字符串s开头,如果是则返回 True,否则返回 False。

  • str检测的字符串。
  • beg可选参数用于设置字符串检测的起始位置,
  • end可选参数用于设置字符串检测的结束位置。如果参数 beg 和 end 指定值,则在指定范围内检查。
    -例:
    str = "this is string example....wow!!!"
    print (str.startswith( 'this' ))
    print (str.startswith( 'string', 8 ))
    print (str.startswith( 'this', 2, 4 ))
True
True
False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值