一、描述
使用单引号、双引号、三引号引用的内容,都认为是字符串。
区别:
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的个数
!!!!!!以上均为常用函数