zoukankan      html  css  js  c++  java
  • DAY02

    字符串

    定义:在单引号双引号三引号内,由一串字符组成

    name='PatHoo' #本质为 name=str('PatHoo')

    常用方法:

    索引

    1 name='PatHoo'
    2 print(name[0])
    >>> P
    3 print(name[1000])
    >>> #IndexError: string index out of range

    移除(默认移除空格)

    1 name=input('username: ').strip()
    2 print(name)
    3 
    4 name='***PatHoo********'
    5 print(name.strip('*'))
    >>> PatHoo
    6 print(name.lstrip('*'))
    >>>
    PatHoo********
    7 print(name.rstrip('*'))
    >>> ***PatHoo

    切分(默认按空格切分)

    1 user_info='root:x:0:0::/root:/bin/bash'
    2 print(user_info.split(':')[5])
    >>> /root
    3 cmd_info='get|a.txt|333333333'
    4 print(cmd_info.split('|')[0])
    >>> get
    5 print(cmd_info.split('|',1)) #切分一次 >>> ['get', 'a.txt|333333333']
    6 msg='name PatHoo age 18'
    7 print(msg.split())
    >>> ['name', 'PatHoo', 'age', '18']

    取长度

    1 name='PatHoo'
    2 print(name.__len__())
    >>> 6
    3 print(len(name)) #name.__len__()
    >>> 6

    切出子字符串

    1 name='hello world'
    2 print(name[1])  #下标从0开始
    >>> e
    3 print(name[1:7]) #不包含末尾的下标
    >>> ello w
    4 print(name[1:7:3]) #每隔2个字符
    >>> eo

    字符的其他方法(掌握)

    1 name='Patrick Hoo'
    2 print(name.endswith('oo'))
    >>> True
    3 print(name.startswith('P'))
    >>> True
    1 name='PatHoo say: i have a dream, my name is PatHoo.'
    2 print(name.replace('PatHoo','VIMMER',1))
    >>> VIMMER say: i have a dream, my name is PatHoo.
    1 print('{} {} {}'.format('PatHoo',18,'male'))
    >>> PatHoo 18 male
    2 print('{0} {1} {0}'.format('PatHoo',18,'male'))
    >>> PatHoo 18 PatHoo
    3 print('NAME:{name} AGE:{age} SEX:{sex}'.format(age=18,sex='male',name='PatHoo'))
    >>> NAME:PatHoo AGE:18 SEX:male
    1 num='123'
    2 print(num.isdigit())
    >>> True
    1 while True:
    2     age=input('>>: ').strip()
    3     if len(age) == 0:continue
    4     if age.isdigit():
    5         age=int(age)
    6         print(age,type(age))

    字符其他需要了解的方法

    1 name='PatHoo hello'
    2 print(name.find('o')) #找到则显示第一个字符的下标
    >>> 4
    3 print(name.find('x')) #没找到显示-1, 不报错
    >>> -1
    4 print(name.find('l',8,11)) #按范围查找 >>> 9 5 print(name.index('o')) #找到则显示第一个字符的下标
    >>> 4
    6 print(name.index('x')) #没找到报错
    >>> ValueError: substring not found
    1 name='PatHoo hello'
    2 print(name.count('o',3,6))
    >>> 2
    1 L=['PatHoo','say','hello','world'] #用join方法拼接, 列表内容必须都是字符串
    2 print(':'.join(L))
    >>> PatHoo:say:hello:world
    1 name='PatHoo'
    2 print(name.center(30,'*'))
    >>> ************PatHoo************
    3 print(name.ljust(30,'*'))
    >>> PatHoo************************
    4 print(name.rjust(30,'*'))
    >>> ************************PatHoo
    5 print(name.zfill(30))
    >>> 000000000000000000000000PatHoo
    1 name='PatHoo	hello'
    2 print(name)
    >>> PatHoo hello
    3 print(name.expandtabs(1)) #TAB键用1个空格表示
    >>> PatHoo hello
    1 name='PatHoo'
    2 print(name.lower())
    >>> pathoo
    3 name='PatHoo' 4 print(name.upper())
    >>> PATHOO
    1 name='PatHoo say'
    2 print(name.capitalize()) #首字母大写
    >>> PatHoo say
    3 print(name.swapcase()) #大小写翻转
    >>> pAThOO SAY
    4 msg='PatHoo say hi' 5 print(msg.title()) #每个单词的首字母大写
    >>> PatHoo Say Hi
    6 name='PatHoo123' 7 print(name.isalnum()) #字符串由字母和数字组成
    >>> True
    8 name='PatHoo' 9 print(name.isalpha()) #字符串只由字母组成
    >>> True
     1 num1=b'4' #Bytes
     2 num2=u'4' #unicode,python3中无需加u就是unicode
     3 num3='' #中文数字
     4 num4='' #罗马数字
     5 
     6 #bytes,unicode
     7 print(num1.isdigit())
    >>> True
    8 print(num2.isdigit())
    >>> True
    9 print(num3.isdigit())
    >>> False
    10 print(num4.isdigit())
    >>> False
    11 12 13 #isdecimal:unicode 14 print(num2.isdecimal())
    >>> True
    15 print(num3.isdecimal())
    >>> False
    16 print(num4.isdecimal())
    >>> False
    17 18 19 #isnumberic:unicode,汉字,罗马 20 print(num2.isnumeric())
    >>> True
    21 print(num3.isnumeric())
    >>> True
    22 print(num4.isnumeric())
    >>> True
  • 相关阅读:
    hdu 5723 Abandoned country 最小生成树 期望
    OpenJ_POJ C16G Challenge Your Template 迪杰斯特拉
    OpenJ_POJ C16D Extracurricular Sports 打表找规律
    OpenJ_POJ C16B Robot Game 打表找规律
    CCCC 成都信息工程大学游记
    UVALive 6893 The Big Painting hash
    UVALive 6889 City Park 并查集
    UVALive 6888 Ricochet Robots bfs
    UVALive 6886 Golf Bot FFT
    UVALive 6885 Flowery Trails 最短路
  • 原文地址:https://www.cnblogs.com/hugengfeng/p/7291967.html
Copyright © 2011-2022 走看看