继续整理python------字符串

57 阅读3分钟

一、描述

使用单引号、双引号、三引号引用的内容,都认为是字符串。

区别:

1、三引号占用的内存空间与单双引号的不同 2、常量赋值is是true,input输入底层做了处理导致地址不一样

# 字符串
s1 = 'abc'
s2 = "abc"
s3 = """
abc
"""

print(id(s1),id(s2),id(s3))

print(s1==s2)               # true
print(s1 is s2)             # true

print(s2==s3)               # false
print(s2 is s3)             # false

s1 = input('请输入:')
s2 = input('请输入:')

print(s1 == s2)             # true
print(s1 is s2)             # false

二、字符串的运算符:+ * in

s3 = s1 + s2               # 相当于拼接符
s4 = s1 * 5                # 倍数
print(s3)
print(s4)

# in 在...里面
name = 'steven'
result = 't' in name       # 返回值是布尔类型

# not in 没有在...里面
name = 'steven'
result = 'tv' not in name       # 返回值是布尔类型

三、字符串的格式化 %s

print('%s 说:%s' % (name,'大家好好学习!'))

四、保留原格式 r

#r 保留原格式 ,有r则不发生转义,没有r则发生转义,如\'
print(r'%s说:\'hhh\'' % name)

五、字符串的[] [ : ]

filename = 'picture.png' 
print(filename[5])                  # 获取字母r
print(filename[3:7])                # 截取字符串
print(filename[3:])                 # 省略,取到字符串的末尾 
print(filename[:7])                 # 省略,取到字符串的前面
print(filename[8:-1])               # -1是字符串从后面数第一位
print(filename[10:0])               # 倒序输出
print(filename[::-1])               # 倒序输出
print(filename[0:5:-1])             # 只要加了-1,就是从后面开始

六、字符串的内建函数

第一部分: 大小写相关

capitalize()、 title()、 upper()、 lower()、

message = 'she is a beautiful girl!'
msg = message.capitalize()    # capitalize 将字符串第一个字符转为大写
print(msg)

print(message.title())        # title 将每个单词首字母大写
print(message.upper())        # upper 将字符串全部转成大写的表示形式
print(message.lower())        # lower 将大写全部转小写

第二部分:查找相关的,替换

find()、 rfind()、 lfind()、 index()、 rindex()、 lindex()、 replace()

s1 = 'index lucy lycky goods'
print(s1.find('R'))    # 返回值是-1则代表没有找到
print(s1.find('l'))    # 如果找到,则返回字母第一次出现的位置
print(s1.find('l',start,end))   # 指定范围内开始查找


url = 'https://www.baidu.com/img/bd_logo1.png'
filename = url[url.rfind('/')+1:]    # rfind right find     # 从右侧检索/的位置
# lfind同理
print(filename)

## index与find基本一样,不同的是index找不到字符会报错

# 替换  replace(要替换的字符,替换的值,替换几个)
s1.replace(' ','-')

第三部分:内建函数 encode编码、decode解码、startswith()、endswith()

encode()、 decode()、 startswith()、 endswith()

# 编码
msg = '好好学习!'
# gbk 中文    gbk2312简体中文   unicode------》utf-8   国际标准
msg.encode('utf-8')


# startswith、endswith判断是否以XXX开头/结尾的,返回布尔值
filename = '笔记.doc'  
  
filename.endswith('txt') # 是否是以txt结尾的  
  
s = 'hello'  
s.startswith('he')       # 是否是以he开头的

第四部分:isalpha() 是否是字母 isdigit() 是否是数字

第五部分:join()、lstrip()、rstrip()、strip()、split()、count()

join() 拼接, 语法:' 连接符'.join(要连接的内容)

lstrip/rstrip() 去除字符串左侧/右侧的空格

strip() 去除左右两侧的空格

split(' ',切几刀的个数) 分割字符串,将分割后的字符串保存到列表中

count(' ') count(args) 求字符串中指定args的个数

!!!!!!以上均为常用函数