自学python 进击之路 - 字符串

270 阅读3分钟

src=http___5b0988e595225.cdn.sohucs.com_images_20190916_32ce26032b124c3cb145a4231627373d.jpeg&refer=http___5b0988e595225.cdn.sohucs.jpg

字符串

1.1字符串的定义

带引号的内容就是字符串.

在 python 中,字符串可以乘上一个整数, 
字符串 * num
# 单引号
name = 'isaac'
print(type(name), name)
# 双引号
name = "isaac"
print(type(name), name)

# 三引号
my_str = """hello world hello python"""
print(type(my_str), my_str)

my_str1 = '''hello world hello python'''
print(type(my_str1), my_str1)

# 如果字符串本身包含单引号,使用双引号定义 ,如果包含双引号可以使用单引号定义,或者统一使用三引号引号
my_str2 = "my name is 'good man'"
print(type(my_str2), my_str2)


# 字符串乘上一个整数
my_str3 = 'good' * 5
print(type(my_str3), my_str3)

Snipaste_2021-06-16_13-26-14.png

1.2 字符串的输入和输出

# 输入 input()
input() 函数得到的内容就是字符串

# 输出 print() 函数 %s 
f-string 

# 输入 input()
# python中提供了input()函数可以用于接收字符串的输入,并且会将输入内容转化为字符串类型,如需将其转化为整型等数据类型,可以使用数据类型转化函数。除此之外,可以使用变量对用户输入的信息进行保存
# 字符串的输入
a = input('请输入你的名字')  # 老铁
print(type(a), a)

age = int(input('请输入你的年龄'))   # 输入num 18
print(type(age), age)  # class ’int‘ 18

# 字符串的输出可以是使用 print() 函数
print('hello python')
# 常用字符串格式化
# 格式化字符串用%s
# 格式化整数用%d
# 格式化浮点实数%f
name = '老帅了'
age = 18
position = '学生'
score = 78.5
address = '上海科技城'

print("姓名:%s" % name)
print("年龄:%s" % age)
print("职业:%s" % position)
print("成绩:%f" % score)
print("地址:%s" % address)

1.4切片

my_str[:]  得到和原来一样的字符串
my_str[::-1]  字符串的逆置
# 切片可以获取一段数据,多个数据,下标
# 切片的语法 : 变量[start:end:step],会得到一个新的字符串
# start 开始位置的下标
# end 结束位置的下标 不包含end 对应的下标
#### step 步长,下标之间的间隔 ,默认是1
my_str = 'hello'
my_str1 = my_str[2:3:1]
print(my_str1)
# step 如果是1,即默认值。可以不写
my_str2 = my_str[2:4]
print(my_str2)
# end 位置不写,表示是len(),即可以取到最后一个元素
my_str3 = my_str[2:]
print(my_str3)
# start 位置也可以省略不写,表示为0
my_str4 = my_str[:3]
print(my_str4)
# start 和 end 都不写,但是冒号需要写-
my_str5 = my_str[:]
print(my_str5)

find()&fingd

my_str = 'hello world itcast and itcastcpp'

# find() 在字符串中查找是否存在某个字符串
# sud_str : 要在字符串中查找的内容类型 str
# start : 开始位置 ,从哪里开始查找.默认是0
# end : 结束的位置,查找到哪里结束 ,默认len()
# 返回值:即方法执行的结果是什么.如果找到sub_str ,返回的sub_str 在 my_str 中的位置的正数下标
# 如果没有找到返回-1
index = my_str.find('hello')
print(index)  # 0
# 从下标为3 的位置.开始查找字符串 hello
print(my_str.find('hello', 3))  # -1
print(my_str.find('itcast'))  # 12
print(my_str.find('itcast', 15))   # 23
# rfind()=> right find() 从右边(后面) 开始查找
print(my_str.rfind('and'))   # 23

index & rindex()

my_str = 'hello world itcast and itcastcpp'

# find() 在字符串中查找是否存在某个字符串
# sud_str : 要在字符串中查找的内容类型 str
# start : 开始位置 ,从哪里开始查找.默认是0
# end : 结束的位置,查找到哪里结束 ,默认len()
# 返回值:即方法执行的结果是什么.如果找到sub_str ,返回的sub_str 在 my_str 中的位置的正数下标
# 如果没有找到返回-1
index = my_str.find('hello')
print(index)  # 0
# 从下标为3 的位置.开始查找字符串 hello
print(my_str.find('hello', 3))  # -1
print(my_str.find('itcast'))  # 12
print(my_str.find('itcast', 15))   # 23
# rfind()=> right find() 从右边(后面) 开始查找
print(my_st
yphr.rfind('and'))   # 23

字符串连接join

# my_str.join (可迭代对象)
# 可迭代对象,str 。列表(需要列表中的每一个数据都是字符串类型)
# 将my_str 这个字符串添加到迭代对象的两个元素之间
# 返回值 : 一个新的字符串,不会改变原字符串的值


my_str = '_'.join('hello')
print(my_str)  # h_e_l_l_o


#  定义列表
my_list = ['hello', 'cpp', 'python']

print('_'.join(my_list))   # hello_cpp_python
print('_*_'.join(my_list))   # hello_*_cpp_*_python