zoukankan      html  css  js  c++  java
  • Python:基础数据类型--字符串

    基础数据类型:字符串

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

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

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

    python3中,字符前缀
      r'xxx' r/R:    非转义的原始字符串,以r开头的字符,常用于正则表达式,对应着re模块
      b'xxx' b:     BYTE字符串,可以使用encode('utf-8')转换为
      u'xxx' u/U:  表示unicode字符串,不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。

    字符串:拼接

    使用'+'加号连接两个字符串,可将两个字符串拼接在一起

    s1 = 'foo'
    s2 = 'python'
    print(s1 + s2)
    字符串*数字,通过'*'信号连接,重复该字符串多少次
    print('坚强'*8)

    字符串:切片

    ‘[]’中括号,通过索引获取字符串中字符。第一个字符的索引为0

    s = 'alexwusirritian'
    s1 = s[0]
    print(s1)
    a
    s = 'alexwusirritian'
    s1 = s[-1]
    print(s1)
    n

    截取字符串中的一部分的方法为:s[起始索引:结束索引+1:步长],顾头不顾尾

    反向索引开始为-1,依次类推。

    s = 'alexwusirritian'
    s1 = s[0:4]
    print(s1)
    alex
    s = 'alexwusirritian'
    s1 = s[:4]         #起始索引开始,默认可以不写
    print(s1)
    alex
    s = 'alexwusirritian'
    s1 = s[9:]         #结束索引为末尾,默认可以不写
    print(s1)
    ritian
    s = 'alexwusirritian'
    s1 = s[:5:2]       #:2表示指定步长,默认为1
    print(s1)
    aew
    s = 'alexwusirritian'
    s1 = s[-1:-5:-1]   #从后向前切片,步长为-1
    print(s1)
    nait

    字符串:常用方法

     capitalize() 首字母大写其余字母小写

    s = 'alexWUsir'
    s1 = s.capitalize()
    print(s1)
    Alexwusir

    swapcase() 大小写反转

    s = 'alexWUsir'
    s1 = s.swapcase()
    print(s1)
    ALEXwuSIR

    title() 非字母隔开的每个单词的首字母大写

    s = 'alex wusir*taibai2ritian'
    s1 = s.title()
    print(s1)
    Alex Wusir*Taibai2Ritian

    center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

    s1 = s.center(30,)
    s2 = s.center(30,'*')
    print(s1)
    print(s2)
    alex wusir
    *taibai2ritian ***alex wusir*taibai2ritian***

    upper(),lower() 全部大写和全部小写

    s = 'alex wusir*taibai2ritian'
    s1 = s.upper()
    s2 = s.lower()
    print(s1)
    print(s2)
    ALEX WUSIR
    *TAIBAI2RITIAN alex wusir*taibai2ritian

    startswith(),endswith() 判断是否以指定字符开头或结尾,是返回True,否返回False

    s1 = s.startswith('a')
    s2 = s.startswith('alex',5,len(s))    #startswith 可以指定匹配的索引范围,默认开始为0,结束为字符串的长度
    s3 = s.endswith('esir')
    print(s1)
    print(s2)
    print(s3)
    True False False

    strip()  默认去除字符串前后的空格,换行符,制表符。lstrip()去除前面   rstrip()去除后面

    s = '   alexWUsir	'
    s1 = s.strip()
    print(s1)
    alexWUsir
    ss = 'abclaonanhaiq'
    ss1 = ss.strip('abqc')   #指定字符串去除
    print(ss1)
    laonanhai


    replace() 替换,默认替换匹配到的全部字符。

    s = 'alex 分甘共苦老地方 alex 风刀霜剑卡乐芙'
    s1 = s.replace('alex', 'SB')
    s2 = s.replace('alex', 'SB',1)     #只替换第一个查找到的字符
    print(s1)
    print(s2)
    SB 分甘共苦老地方 SB 风刀霜剑卡乐芙 SB 分甘共苦老地方 alex 风刀霜剑卡乐芙

    split() 字符分隔,分隔后会产生一个新的列表。 str--->list

    s1 = 'alex wusir taibai ritian'
    s2 = 'alex,wusir,taibai,ritian'
    s3 = 'alexwusirtaibairitian'
    l1 = s1.split()        #默认以空格分隔 
    l2 = s2.split(',')      #指定分隔符为','
    l3 = s3.split('a')      #指定分隔符为'a'
    l4 = s3.split('a',2)        #指定分隔符为'a',并且只分隔前2次
    print(l1)
    print(l2)
    print(l3)
    print(l4)
    [
    'alex', 'wusir', 'taibai', 'ritian'] ['alex', 'wusir', 'taibai', 'ritian'] ['', 'lexwusirt', 'ib', 'iriti', 'n'] ['', 'lexwusirt', 'ibairitian']

     join() 用于将序列中的元素以指定的字符连接生成一个新的字符串。  list ----> str

    l1 = ['alex', 'wusir', 'ritian']
    s1 = ' '.join(l1)         #默认为空格连接
    print(s1,type(s1))
    
    alex wusir ritian <class 'str'>

    find() index() 通过元素找索引。index找不到会报错终止程序,而find找不到返回-1。 推荐使用find

    s = 'alexwausir'
    s11 = s.find('e')
    s12 = s.find('ex')
    print(s11,type(s11))
    print(s12,type(s12))
    
    2 <class 'int'>
    2 <class 'int'>       #多个字符,返回查找到的第一个字符的索引
    s = 'alexwausir'
    s11 = s.find('a',1)   #从下标1开始查找
    print(s11)
    
    3

    isdigit() 检测字符串是否只由数字组成

    str = "123456";  # Only digit in this string
    print str.isdigit();
    
    str = "this is string example....wow!!!";
    print str.isdigit();
    
    
    True
    False

    如何判定字符串是否为空

    str=""
    str2="abc"

    print
    (not str) print(not str2) True False
  • 相关阅读:
    【转】[Python小记] 通俗的理解闭包 闭包能帮我们做什么?
    【OCR技术系列之六】文本检测CTPN的代码实现
    002. Centos7安装mysql5.5.37
    044. asp.net主题之二为主题添加CSS样式和动态加载主题
    043. asp.net主题之一初识主题和皮肤
    042. asp.net使用缓存来提高母版页的访问性能
    041. asp.net中内容页访问母版页中的控件
    040. asp.netWeb中TreeView控件绑定XML文件
    039. asp.netWeb用户控件之七实现具有虚拟键盘的功能的用户控件
    038. asp.netWeb用户控件之六实现日期选择的用户控件
  • 原文地址:https://www.cnblogs.com/bailo/p/9031001.html
Copyright © 2011-2022 走看看