zoukankan      html  css  js  c++  java
  • 字符串类型

    字符串类型

    定义:

    msg = 'hello'
    print(type(msg))
    >>
    msg = str(msg)
    

    类型转换:

    str可以把任意类型都转换成字符串

    res = str({'a':1})
    print(res(type(res)))
    

    使用:内置方法

    按索引取值可以分为 正向取 反向取 只能取

    正向取

    msg = 'hello word'
    print(msg[o])
    print(msg[5])
    

    反向取

    msg = 'hello word'
    print(msg[-1])
    

    只能取;

    意思就是只能读取不能修改

    msg = 'hello word'
    msg[0] = 'H'
    print(msg)#这个时候会报错
    

    切片:

    索引的拓展引用,从一个大字符串中拷贝一个子字符串 #空格也算一个字符

    msg = 'hello word'
    #顾头不顾尾,最后一个字符不会取到
    res = msg[0:5] #0的意思就是从零号开始索引   5的意思就是索引到第五个字符
    print(res)
    >>
    hello
    

    步长:

    msg = 'hello word'
    #顾头不顾尾,最后一个字符不会取到
    res = msg[0:5:2]#2的意思就是就是一次跳两个格
    print(res)
    >>>
    hlo
    
    msg = 'hello word'
    res = msg [:]#如果不想大字符串内容中取完,就在冒号后输入你想取的字符个数加一,如果不写就会默认有多少内容打印多少多少内容,第一个空格代表默认从0开始索引
    print(msg)
    >>>
    hello word
    

    反向步长:

    msg = 'hello word'
    res = msg[5:0:-1]#反过来也是一样,顾头不顾尾,最后一个字符不会取到所以0这里取不到
    print(res)
    >>>
    olle
    
    把字符串倒过来
    msg = 'hello word'
    res = msg[::-1]#-1的意思就是从倒数第一个取值
    

    长度len():

    统计有多少个字符串

    msg = 'hello word'
    print(len(msg))
    >>>
    11
    

    成员运算in和 not in

    print('alxe' in 'alxe is sb')#判断alex是否在alex is sb中,在的话则是正确
    >>>
    True
    print('alex' not in 'alex is sb')#判断alex是否不在alex is sb中,不在的话则是正确
    >>>
    Fales
    

    strip()

    移除字符串左右两侧的符号,括号内不指定字符就默认移除空格,如果指定字符了就移除指定字符

    默认去掉的空格
    msg='      egon      '
    res=msg.strip()
    print(msg) # 不会改变原值
    >>>
          egon      
    print(res) # 是产生了新值
    >>>
    'egon'
    
    msg='****egon****'
    print(msg.strip('*'))#指定了在字符就去除指定字符
    >>>
    egon
    
    #strip只去两边不取中间
    msg='****e*****gon****'
    print(msg.strip('*'))
    >>>
    e*****gon
    
    #strip(括号内可以添加多种字符,就移除多种字符)
    msg='**/*=-**egon**-=()**'
    print(msg.strip('*/-=()'))
    >>>
    egon
    

    切分split()

    把一个字符串按照某种分隔符进行切分,得到一个列表,默认的分隔符是空格

    info='egon 18 male'
    res=info.split()
    print(res)
    >>>
    ['egon','18','mlae']   #注意spilt切割得到的结果是列表数据型
    

    指定分隔符

    括号内指定分隔符则按照括号内指定的分隔符进行切割字符串

    info='egon:18:male'
    res=info.split(':')
    print(res)
    >>>
    ['egon':'18':'mlae']
    

    指定分隔次数

    info='egon:18:male'
    res=info.split(':',1)#一的意思就是把整个字符串只分割一次
    print(res)
    >>>
    ['egon':'18:male']
    

    循环

    info='egon:18:male'  #info里面有三个值就循环三次,依次取出
    for x in info:
    	print(x)
    >>>
    egon
    18
    mlae
    

    strip() lstrip() rstrip()

    trip():移除左右两边的指定符

    lstrip():只移除左边的指定符

    rstrip():只移除右边的指定符

    msg = '***abc***'
    print(msg.strip('*')) #移除左右两边的指定符
    >>>
    abc
    print(msg.lstrip('*'))#只移除左边的指定符
    >>>
    abc***
    print(msg.rstrip('*'))#只移除右边的指定符
    >>>
    ***abc
    

    lower() upper()

    lower():将英文字符串全部变为小写

    upper():将英文字符串全部变为大写

    msg='AabbCC'
    print(msg.lower())#将英文字符串全部变为小写
    >>>
    aabbcc
    print(msg.upper())#将英文字符串全部变为大写
    >>>
    AABBCC
    

    startswith() endswith()

    startswith():判断字符串是否以括号内指定字符开头,结果为True或False

    endswith():判断字符串是否以括号内指定字符结尾,结果为True或False

    res = "alex is nb"
    print(res.startswith("alex"))#判断res里面的值是否以"alex"开头
    >>>
    True
    print(.endswith('nb'))#判断res里面的值是否以'nb'结尾
    >>>
    True
    

    format()

    format括号内在传参数时完全可以打乱顺序,但任然能指名道姓第为指定的参数传值

    sex = "my nema is{nema},my age is{age}".format(name=ser,age=18)
    print(sex)
    >>>
    my nema is ser,my age is 18
    

    split() rslit()

    把字符串切成列表

    split():split会按照从左到右的顺序对字符串进行切分,可以指定切割次数

    rslit():rslit会按照从右到左的顺序对字符串进行切分,可以指定切割次数

    info="egon:18:male"
    print(info.split(':',1)) 
    >>>
    ["egon","18:male"]
    
    info="egon:18:male"
    print(info.rsplit(':',1)) 
    >>>
    ["egon:18","male"]
    

    join()

    把列表拼接成字符串

    l=['egon', '18', 'male']
    res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
    print(res)
    >>>
    egon:18:male
    

    replace():替换

    msg="you can you up no can no bb"
    print(msg.replace("you","YOU",))#不指定次数的话,就把字符串中的you全部替换成YOU
    >>>
    YOU can YOU up no can no bb
    
    print(msg.replace("you","YOU",1))#指定次数了就按指定的次数进行替换,替换次数为一就从左往右找第一个要替换的
    >>>
    YOU can you up no can no bb
    

    isidigit

    判断字符串是否由纯数字组成,返回结果为True或False

    print('123456'.isdigit())
    >>>
    True
    print('12.3'.isdigit())#字符串中间有别的符号,所以不成立
    >>>
    False
    
    例如:
    print('123'.isdigit())
    print('12.3'.isdigit())
    age=input('请输入你的年龄:').strip()
    if age.isdigit():
    	age=int(age) # int("abbab")
    	if age > 18:
    		print('猜大了')
    	elif age < 18:
    		print('猜小了')
    	else:
        	print('猜对了')
    else:
    	print('必须输入数字,小傻瓜')
    

    find() index()

    find():返回要查找的字符串在大字符串中的起始索引位置,找不到要找的字符返回-1

    起始索引就是比如找一个列表里的值,左往右数0对应的是第一个

    index():同find一样,不过在找不到的时候会报错

    msg='hello egon word'
    print(msg.find('e')) # 返回要查找的字符串在大字符串中的索引位置
    >>>
    1
    print(msg.find('egon'))
    >>>
    6
    print(msg.find('a'))
    >>>
    -1#-1代表找不到的意思
    
    msg='hello egon word'
    print(msg.index('egon'))
    >>>6
    print(msg.index('e'))
    >>>
    1
    print(msg.index('a'))
    >>>#没有这个字符就抛出异常报错了
    

    count() :

    统计次数

    a = 'hello word hello hello hello'
    print(a.count('hello'))#统计hello在字符串中的个数
    >>>
    4 
    

    center() ljust() rjust() zfill()

    center() :总字符为xxx,字符串居中显示,不够用用xxx号填充

    ljust() :总字符为xxx,字符串左对齐显示,不够用用xxx号填充

    rjust():总字符为xxx,字符串右对齐显示,不够用用xxx号填充

    zfill():总字符为xxx,字符串右对齐显示,不够用用0号填充 #默认填充符为0

    print('a'.center(5,'*'))#总字符为5,字符串居中显示,不够用用*号填充
    >>>
    **a**
    print('a'.ljust(5,'*'))#总字符为5,字符串左对齐显示,不够用用*号填充
    >>>
    a****
    print('a'.rjust(5,'*'))#总字符为5,字符串右对齐显示,不够用用*号填充
    >>>
    ****a
    print('a'.zfill(5))#总字符为5,字符串右对齐显示,不够用0来填充
    >>>
    0000a
    

    expandtabs()

    指定制表符的宽度

    msg='hello	world'#	代表制表符
    print(msg.expandtabs(2)) # 设置制表符代表的空格数为2
    

    captalize () swapcase () title()

    captalize ():首字母大写

    swapcase () :大小写反转

    title():每个单词的首字母大写

    print("hello world ".capitalize()) #让字符串里的首字母大写
    >>>
    Hello word
    print("Hello worLd ".swapcase()) #让字符串里面的所有字母大小写反过来
    >>>
    hELLO WORlD
    print("hello world ".title()) #让字符串里被空格符分开的每单词的首字母都大写
    >>>
    Hello World 
    

    is数字系列

    islower(): 判断一个字符串是否全为小写,成立为True反之为False

    isupper(): 判断一个字符串是否全为大写,成立为True反之为False

    istitle(): 判断字符串中由空格隔开的单词的首字母是否全为大写,成立为True反之为False

    isalnum(): 判断一个字符串是否全由纯数字组成,成立为True反之为False

    isalpha(): 判断一个字符串是否全由纯字母组成,成立为True反之为False

    isspace():判断字符串是否全由空格组成,成立为True反之为False

    isidentifier():判断标识符也就是变量名(变量名有系统内部变量名和自定义变量名)是否合法,成立为True反之为False

  • 相关阅读:
    Jquery基础入门-3-jQuery进行Ajax操作的方法
    Jquery基础入门-3-JQuery实现动画与特效
    Jquery基础入门-3-JQuery事件相关介绍
    Jquery基础入门-3-JQuery DOM操作-3、4、5
    Jquery基础入门-3-JQuery DOM操作-1、2
    解决eclipse启动时出现“failed to load the jni shared library”
    Eclipse中servlet简易模版
    Unknown character set: 'utf8mb4'
    Windows下chm转换为html的超简单方法
    MySql学习笔记(一)之DQL常用查询
  • 原文地址:https://www.cnblogs.com/hm666/p/12485914.html
Copyright © 2011-2022 走看看