Pyhon----字符串

Python----字符串

"""
1.字符串定义:
    使用双引号或单引号创建
"""
str = 'cyz'
str2 = "陈颍州"
# print(str)
# print(str2)

"""
2.访问字符串的值
    使用[]来截取字符串 截取的范围要合法,不合法返回值为''
    变量[头下标:尾下标]
  字符串是有下标的数据类型之一
  从前往后的索引:0 1 2 3 ....
  从后往前的索引:-n ....... -1
"""
str = 'myi name is chenyinzhou, i come from China!'
sbStr = str[:] #截取全部字符串
print(sbStr)
sbStr = str[1:] #从下标为1的位置开始截取,直到最后
print(sbStr)
sbStr = str[1:3] #从下标为1的位置开始截取,直到下标为3的位置结束,因此[]是包前不报后的
print(sbStr)
sbStr = str[:3] #从默认位置为0的位置开始截取,直到2为止
print(sbStr)
sbStr = str[1:-1] #从1一直截取到-1位置,-1位置就是字符串的最后一个字符
print(sbStr)
sbStr = str[-1:] #截取最后一个字符,可以看出来,这是从前往后截取的
print(sbStr)
sbStr = str[-5:1] #截取范围不合法,返回值为空
print(sbStr)

"""
3.字符串的内存情况
    python中只要是字符串的值相等,那么他们的内存地址空间就是一样的,就是python中的字符串使用的
        是池化技术
    但是当字符串的值在字符串的常量池中没有相同的话那么python就会在内存中重新开辟一个新的内存地址
    字符串变量被赋予的不是真正的字符值而是字符值所在的内存地址
"""
sbStr = 'cyz'
print(id(sbStr))
sbStr = 'ccc'
print(id(sbStr))
temstr = 'cyz'
print(id(temstr))
"""
4.字符串的更新
    字符串是可变的数据类
    字符串不可变,怎么更新:我们使用拼接的方法
"""
print(id(sbStr))
sbStr = '我叫陈颍州,我来自中国' + sbStr
print(sbStr)
print(id(sbStr))
"""
5.转义字符
    “\”为转义字符,用来输出一些特殊符号的
"""
"""
6.字符串运算符
    +       字符串的拼接
    *       重复输出字符串
    []      通过索引获得字符串的某一个字符
    [:]     通过索引来截取字符串
    in      成员运算符,字符串里面包含给定的字符返回真
    not in  不包含返回真
    r/R     就是可以让所有的字符串都可以按照字面上的字符来使用,只要在第一个引号前加上r or R
    %       格式化字符串
"""
"""
7.格式化字符串
    占位符:%
        格式:'字符串%数据类型'%变量名
    format方法:
        格式:
            位置映射:
                "{} : {}".format('姓名','陈颍州')
            关键字映射:
                "{server}{0}{1}".format("姓名","陈颍州",server="计算机学生")
            元素访问:
                "{0[0]}{0[1]}{0[2]}".format(('cyz','123','yunyi'))
                这里[]方括号前面的0就是format括号里面的元组的序号
"""
name = '陈颍州'
print("我的名字 :%s "%name)
print("{}==>{}".format("姓名","陈颍州"))
print("{}===>{}:{type}".format("姓名","陈颍州",type="计算机学生"))
print("{0[0]}===>{0[1]}--{0[2]}".format((1,2,3)))
"""
6.f-string
    新的格式化字符串的方法
"""
"""
7.字符串的内建函数
    1.capitalize()  将字符串的第一个字符转换为大写2
    2.center(width[,fillchart])  返回一个指定的宽度居中的字符串,注意:填充字符只能是一个字符
    3.count(查找的字符串或字符[, 开始位置, 结束位置]) 返回某个字符串在字符串里面出现的次数
    4.endswith(以某个字符结尾的字符[,开始位置, 结束位置]) 该方法只检查字符串末尾是否包含我们要
        检索的字符串
    5.expandtabs()  将字符串中的tab键转换为空格
    6.find(目标字符串[, 开始, 结束]) 检测字符串中是否包含目标字符串,返回目标字符串开始的索引值,否则返回-1
    7.index(目标字符串[, 开始, 结束])    和find一样只不过,index找不到目标字符串的话会报一个异常
    8.isalnum() 就是字符串至少有一个字符,并且这个字符串必须只能包含数字或者字母才返回true  
    9.isalpha() 字符串至少有一个字符,并且只能包含汉字或者字母才返回true
    10.isdigit()    字符串只能包含数字才返回true 
    11.islower()    字符串里字符包含字母但是字母只能都是小写的字母是才返回true
    12.isnumberic() 字符串里面只包含数字字符才返回true
    13.join(seq)   join方法的前面是分割符,用指定的字符串来作为分隔符,将seq中的所有的元素合并为一个新的字符串
        就是将要合并的对象中的所有元素都进行以指定的分割符进行拼接成一个新的字符串
        注意:这里的seq不仅仅是字符串还可以是元组、列表、字典、集合,合并的是字典的话,不合并值只是合并
            键
    14.len(string)    返回字符串的长度
    15.lower()  转换为小写字母
    16.lstrip() 截掉字符串左边的空格或者指定的字符
    17.max(string)  返回字符串string中最大的字母,是按照ascoll码来排序
    18.replace(old, new[, max])    max就是替换的最大次数
    19.rfind()  和find()一样只不过rfind是从右边开始查找的,同理rindex()一样
    20.split(分隔符,num)   以指定的分隔符来截取字符串,如果num指定了值,则仅截取num+1和子字符串
        num就是指定截取的字符个数
        返回结果是一个列表
    21.swapcase()   将字符串中的小写转换为大写,将大写字符转换为小写
"""
sbStr = 'cyz is good boy'
print(sbStr.capitalize())
sbStr = 'cyz'
print(sbStr.center(100,'*'))
sbStr = 'qqqwsd sdahsjkdhf hhcyzhhcyzjscyzfhaksdjjj'
print(sbStr.count('cyz', 0, len(sbStr) - 1))
print(sbStr.count('cyz'))
sbStr = 'yunyischoolvueapp'
print(sbStr.endswith('vue'))
sbStr = 'cyz    computer    java    python'
print(sbStr.expandtabs(tabsize=8))
sbStr = "technology of AI can change the word!"
print(sbStr.find('word'))
sbStr = 'aaaaa234234a'
print(sbStr.isalnum())
sbStr = '的绿卡好地方asdkjfh'
print(sbStr.isalpha())
sbStr = '287364872364'
print(sbStr.isdigit())
sbStr = 'cyz7868768卡号大家看法和'
print(sbStr.islower())
sbStr = '78612781asd263'
print(sbStr.isnumeric())
sbStr = '我是测试的字符串'
list = ['i','a','m','c','y','z']
set = {'1','2','3'}
dir = {
    'name' : 'cyz',
    'age' : 3,
    'addr' : '安徽省'
}

newStr = '+'.join(sbStr)
print(newStr)
newStr = '+'.join(list)
print(newStr)
newStr = '+'.join(set)
print(newStr)
newStr = '+'.join(dir)
print(newStr)
sbStr = 'kjahsdfhlalsidfh'
print(len(sbStr))
sbStr = 'cyzkalksjdhfkcyzalksdjfcyzkslfj;acyzam,dfncyzjakldhfcyz'
print(sbStr.replace('cyz','TTT',2))
sbStr = 'www.yunyi.com'
print(sbStr.split('.',1))
sbStr = 'I am Cyz, I COme From CHina'
print(sbStr.swapcase())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值