1、来源
1、input()接收到的.
2、文件的读写.
3、爬虫的数据.
2、定义
'hello'
"hello"
'''hello'''
"""hello"""
在代码输入换行的情况下–>
前两个支持代码缩进换行,输出不换行;
后两者代码无缩进换行,输出换行;
示例:
str1 = 'hello' \
'word!'
str2 = "hello" \
"python"
str3 = '''hello
java'''
str4 = """hello
c#"""
print(str1,str2,str3,str4)
输出:
helloword! hellopython hello
java hello
c#
3、字符串输出
示例:
print("hello")
str="hello"
print(str)
print("%s" %str)
print(f'{str}')
输出:
hello
hello
hello
hello
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
示例:
print('hello\nword')
print(r'hello\nword')
输出:
hello
word
hello\nword
4、字符串输入
password = input("请输入密码:")
5、小标/索引
字符串依次分配从0开始的标号
print(password[0]) #输出第一个字符
字符串 | a | b | c | d | e | f |
---|---|---|---|---|---|---|
从前面索引 | 0 | 1 | 2 | 3 | 4 | 5 |
从后面索引 | -6 | -5 | -4 | -3 | -2 | -1 |
str = "hello"
print(str[0])
h
6、切片
指对操作的对象截取其中一部分的操作。
字符串、列表、元组都支持切片操作。
语法: 序列[开始位置下标:结束位置下标:步长]
取不到结束位置下标对应的数据。
各部分正负整数均可。
步长是选取间隔,正负整数均可,步长为负数时倒序选取,默认步长为1, 序列[开始位置下标:结束位置下标]
当序列长度小于结束为止下标时,不报错,全部输出已有数据。
序列[:结束位置下标]
默认从开始选取
序列[开始位置下标:]
默认选取到最后
序列[:]
默认选取所有
如果选取方向(下标开始到结束的方向),和步长方向冲突,无法选取数据。
示例:
str = "abcdefg"
print(str[0:-1])
print(str[:])
print(str[::-1])
输出:
abcdef
abcdefg
gfedcba
7、常用操作方法:查找
7.1查找find():
检测某个字串是否包含在这个子串中,如果存在返回子串开始位置的下标,否则返回-1。
语法:
字符串序列.find(子串,开始位置下标,结束位置下标)
注意:
开始结束位置可以省略,表示在整个字符串序列中查找。
rfind():和find功能相同,但查找方向为右侧开始。
示例:
str1 = "i love hanhan!"
if str1.find("love"):
print("Ture3")
Ture3
7.2查找index():
检测某个字串是否包含在这个子串中,如果存在返回子串开始位置的下标,否则报异常。
语法:
字符串序列.index(子串,开始位置下标,结束位置下标)
rindex():和index功能相同,但查找方向为右侧开始。
示例:
str1 = "i love hanhan!"
print(str1.index("love"))
输出:
3
7.3查找count():
返回某个子串在字符串中出现的次数。
语法:
字符串序列.count(子串,开始位置下标,结束位置下标)
示例:
str1 = "i love hanhan!"
print(str1.count("han"))
输出:
2
8、常用操作方法:修改
字符串是不可修改数据类型!
8.1切片
通过函数切片的形式修改字符串中的数据:
示例:
str1 = "123467"
str1 = str1[:4]+"5"+str1[4:]
print(str1)
输出:
1234567
8.2替换replace():
语法:
字符串序列.replace(旧子串,新子串,替换次数)
替换次数应该为子串出现的次数,超出为替换所有。
原有字符串不做修改,返回值为修改后的字符串。
示例:
str = "one and one is two"
print(str.replace("one","1",3))
输出:
1 and 1 is two
8.3分割split():
按照指定字符分割字符串。
语法:
字符串序列.split(分割字符,num)
num
表示的是分割字符出现的次数,即将来返回数据个数为num+1
个
返回一个列表,丢失分割字符。
示例:
str = "ONE AND ONE IS TWO"
print(str.split("AND",1))
输出:
['ONE ', ' ONE IS TWO']
8.4合并join():
用一个字符或者子串合并字符串,即是将多个字符串合并为一个新的字符串。
语法:
字符或者子串.join(多字符串组成的序列,比如列表)
返回一个合并后的字符串。
示例:
delimiter = '_*_'
mylist = ['Brazil', 'Russia', 'India', 'China']
print (delimiter.join(mylist))
结果:
Brazil_*_Russia_*_India_*_China
8.5首字母大写capitalize():
将字符串第一个字符转换成大写,返回一个修改后的新字符串。
语法:
str.capitalize()
示例:
str = "abc"
print(str.capitalize())
输出:
Abc
8.6首字母大写title():
将字符串每个单词首字母转换成大写,返回一个修改后的新字符串
语法:
str.title()
示例:
str = "abc"
print(str.title())
输出:
Abc
8.7大小写转换
8.7.1 lower()
将字符串中的大写转小写。
语法:
str.lower()
示例:
str = "Abc"
print(str.lower())
输出:
abc
8.7.2 upper()
将字符串中的小写转大写。
语法:
str.upper()
示例:
str = "Abc"
print(str.upper())
输出:
ABC
8.8删除空白字符
str.lstrip()
:删除字符串左侧空白字符
str.rstrip()
:删除字符串右侧空白字符
str.strip()
:删除字符串两侧空白字符
8.9对齐
8.9.1 str.ljust():左对齐
返回一个在原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
如果长度小于原字符串长度,则完整输出原字符串不进行填充。
语法:字符串数列.ljust(长度,填充字符)
8.9.2 str.rjust():右对齐
语法:字符串数列.rjust(长度,填充字符)
8.9.3 center():居中对齐
示例:
语法:字符串数列.center(长度,填充字符)
str = "Abc"
print(str.center(4,"*"))
print(str.center(5,"*"))
输出:
Abc*
*Abc*
8.10使用加法
操作符来连接字符串
即把两个字符串连接在一起返回一个新的字符串。
示例:
8.11 字符串格式化 str.format():
示例:
str1 = "{0} love {1}.".format("我","憨憨")
str2 = "{0} love {name}.".format("我",name="憨憨")
print(str1)
print(str2)
输出:
我 love 憨憨.
我 love 憨憨.
8.11.1 字符串中{}输出
示例:
str1 = "{{0}}".format("任意")
print(str1)
输出:
{0}
8.11.2:
表示格式化符号的开始
示例:
str1 = "{0:.1f}{1}".format(13.14,"Hour")
print(str1)
输出:
13.1Hour
8.12 %
格式化
示例:
str1 = "%c %c %c" %(97,98,99)
print(str1)
# m.n 设置宽度与精度
print("%5.1f" %13.1456)
输出:
a b c
13.1
9、常用操作方法:判断
9.1 startswith():
检查字符串是否以指定子串开头,是返回True,假返回False。
若设置了开始和结束位置的下标,则在指定范围内检查。
区分大小写!
语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)
示例:
str1 = "憨憨加油!"
if str1.startswith("憨憨"):
print("True")
输出:
True
9.2endswith():
检查字符串是否以指定子串结尾,是返回True,假返回False。
语法:字符串序列.endswith(子串,开始位置下标,结束位置下标)
开始位置、结束位置可以省略不写,默认面对整个字符串。
示例:
str1 = "憨憨加油!"
if str1.startswith("加油"):
print("True")
else:
print("False")
输出:
False
9.3检查是否含有某数字
或字母
或子串
9.3.1 isalpha():
如果非空字符串中只包含数字则返回True,否则返回False。
9.3.2 isdigit():
如果非空字符串中只包含数字则返回True,否则返回False。
9.3.3 isalnum():
如果非空字符串只包含数字或者字母则返回True,否则返回False。
9.3.4 isspace():
如果非空字符串只包含空白,则返回True,否则返回False。
9.3.5 检查是否存在某子串in
示例:
str = "我喜欢憨憨"
if "憨憨" in str:
print("True")
else:
print("False")
输出:
True