python的字符串用法

# 字符串的用法

string1 = 'abcd'
string2 = 'abcd'

# ''' ''' 三个单引号对,生命的字符串,会保留其格式
string3 = '''
    1.猜猜看
    2.就不猜
    3.猜不猜
    4.就不猜

'''
print(string3)
string4 = """
    1.....
    2.....
    3.....
    4.....
"""
print(string4)
# r''  原样字符串  ,不会讲字符串中的转义字符串进行转义,会原样的输出
print(r'1\n2')

# 字符串的拼接:
# 1.使用占位符拼接字符串
a = 100
b = 200
# %d 整数类型占位符
# 在字符串中,如果只有一个占位符,不需要再后面指定占位变量的时候加()
# 只需要%变量名,如果有两个或者两个以上的占位符,就需要将变量放在()小括号中%(a,b,c)
string5 = 'a的值为:%d,b的值为:%d'%(a,b)
print(string5)
# %f 小数类型占位符
# %.2f 保留小数点后两位
a = 1.1111
b = 2.9999
string6 = 'a 的值为:%.2fb的值为:%.2f'%(a,b)
print(string6)

# %s 通用占位符,字符串,整数,小数,字典,元组,列表。。。。都可以使用这个占位符
list1 = ['张三',22,120]
print('这个列表的内容为:%s'%list1)

# 2,使用+号,拼接字符串
name = '张三'
age = '22'
phone = '110'
result = name + '-' + age + '-' + phone
print(result)
# 字符串的乘法运算
name = name * 10
print(name)

# 3.format()函数,格式化字符串
string7 = '再过{0}天该放假了!'.format(8)
print(string7)
# {}大括号中如果不填索引的话,默认从0开始取值,然后依次向后取值
string8 = '今天是周{},明天是周{},后天是周{}'.format('','','')
print(string8)
# {}大括号中是后面format中变量的索引,默认从0开始,一次向后加1,也可以在大括号中制定取出数据的索引
string9 = '姓名:{2} 年龄:{0} 性别:{1} 电话:{3}'.format('22','','张三','110')
print(string9)

# 字符串和数字之间的转换
string10 = '1234567890'
# 使用int()把一个纯数字的字符串转换为整数
number1 = int(string10)

string11 = '3.1415926'
# 使用float()转换为浮点类型的数据
number2 = float(string11)
print(number2)

# floatint转换为字符串
string12 = str(number2)
print(type(string12))

# \t 制表符 按了一个tab一样
print('\t你好')
# \n换行符 敲了回车
print('\n你也好')
# \r 回车
print('\r我不好')



def FIND(string,sub,start=0,stop=-1):
    if stop == -1:
        stop = len(string)
    '''
    1.for循环遍历字符串,根据小字符串的长度对大字符串进行截取,并且截取出的字符串必须
    跟小字符串长度一直
    2.如果截取的字符串和小字符串长度一致,判断两个字符是否一致,如果一直说明该字符串
    就是要查找的字符串,直接return x的值(开始位置)
    3.如果for循环执行完毕,没有返回一个结果,直接返回-1,表示没找到
    '''
    for x in range(start,stop):
        # x可以作为截取字符串的开始位置
        # end = x + len(sub)  作为截取的结束位置
        end = x + len(sub)
        # 截取字符串
        sub_str = string[x:end]
        # 判断长度是否一致
        if len(sub_str) == len(sub):
            # 如果截取的字符串等于小字符串,说明找到了
            if sub_str == sub:
                print('找到{}的位置为{}'.format(sub,x))
                # 返回索引位置
                return x
        else:
            break
    # 没有找到字符串,返回-1
    return -1

string13 = 'asdklshdbzxsqwdfjkhbxqzvuqweraosqwerdpfsdjvb'
# 找出qwer的位置,使用find函数,如果找到了返回的是小字符串开始的位置,如果没找到没返回的就是-1
# sub  要查找未知的字符串  start开始查找的位置  end结束查找的位置
# index = string13.find('qwer',0,100)
# print(index)
print(FIND(string13,'qwer',0,50))

#
list1 = [1,2,3,4,5,6,7]
# len(列表) 获取列表中存放数据的个数
print(len(list1))

string = 'qwertyuiopasdfghjklzxcvbnm'
# len(字符串) 获取字符串长度
print(len(string))

# 字符串中的每一个字符都是有索引的,第一个字符索引为0,第二个为1,以此类推。。。
content = string[3]
print(content)

# 字符串支持切片特性
rs = string[:4]
print(rs)
rs = string[4:8]
print(rs)
rs = string[4:]
print(rs)

# 字符串中常用的函数
# find(sub,start,end) 查找第一个匹配到的子字符串的起始位置
# sub 要查找未知的子字符串  start开始查找的位置 end结束查找的位置
# 如果找到返回位置,找不到返回-1
index = string.find('a')
print(index)

# 2index()  查找子字符串在大字符串中的位置,如果找到返回起始位置,找不到抛出异常
# 没有找到  抛出异常: ValueError: substring not found
# sub 要查找未知的子字符串  start开始查找的位置 end结束查找的位置
# index = string.index('nciase')


# 2.count() 函数 统计某个字符串在大字符串中出现的次数
# x 要查找次数的字符串  start 开始查找的位置  end 结束查找的位置
count = string.count('b')
print(count)

# 4.转换大小写
# 把字符串全部转换为大写,会把转换之后的字符串返回
upper_str = string.upper()
print(upper_str)

# 5.大小写字符全部转换为小写字符
lower_str = upper_str.lower()
print(lower_str)

# 6.strip()  取出字符串首尾两端的指定字符,不指定默认去除空格
# chars 要去除的字符
string = '\n\n\n'
strip_str = string.strip('\n')
print(strip_str)

# 7.replace()函数 可以将字符串中的字符进行替换
# old 要替换的字符串  new 替换后的字符串   count 替换的次数
replace_str = strip_str.replace('\n','===',5)
print(replace_str)

# 8.split()函数 可以通过制定的字符对字符串进行分割,分割之后得到的是一个列表
string = '1;2;3;4;5;6;7;8;9'
# sep 指定的分割字符  maxsplit 最大的分割次数  不指定,就是全部分割
rs = string.split(';')
print(rs)

# 9.join()函数
# iterable 可迭代对象
string = '*'.join(rs)
print(string)

# 10.startswith() 函数 判断某个字符串是否以某个字符串开头
# 如果以某个字符开头,返回True 否则返回False
print(string.startswith('a'))

# 11.endswith() 函数  判断某个字符串是否以某个字符串结束
print(string.endswith('10'))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值