python之str字符串

字符串是python非常重要的数据类型,它是一个序列(列表和元组也是序列),有下标,可以通过下标遍历字符串序列;同时字符串也是一个不可变数据类型,每次使用"+"拼接字符串时都会产生一个新的字符串付给变量

一.字符串的定义

(1)使用引号包含的都是字符串,单引号,双引号,三引号

name1 = 'hehe'
name2 = "hehe"
name3 = '''hehe'''
print(type(name1))
print(type(name2))
print(type(name3))

输出结果
<class 'str'>
<class 'str'>
<class 'str'>

(2)input()函数输入的为字符串类型

name = input("pls input your name:")
print(type(name))

输出i结果如下(输入yangbuhui)
pls input your name:yangbuhui
<class 'str'>

(3)str()转换的为字符串类型

age = 19
print(type(age))
print(type(str(age)))

输出结果如下:
<class 'int'>
<class 'str'>

二.使用下标遍历字符串

0,1,2,3,4即为该字符串的下标,使用str1[0]可以获得a,str1[1]可以获得b,...

for i in "abcde":
    print(i, end="")

输出结果如下
abcde

# enumerate可以让下标和元素对应
print()
for i, j in enumerate("abcde"):
    print(i, j)     # 打印:下标i 元素j

输出结果如下
0 a
1 b
2 c
3 d
4 e

三.字符串的切片和倒序

str1 = "abcdefg"
# 切片
print(str1[2:5])        # cde
print(str1[0:2])        # ab
print(str1[0:-1])       # abcdef
print(str1[2:-2])       # cde
print(str1[:])          # abcdefg
print(str1[:3])         # abc
print(str1[3:])         # defg
print(str1[1:5:2])      # bd
print(str1[:3:-1])      # gfe
print(str1[::-2])       # geca

print("================")
# 倒序
str2 = "123456789"
print(str2[::-1])   # 987654321

输出结果如下
cde
ab
abcdef
cde
abcdefg
abc
defg
bd
gfe
geca
================
987654321

四.字符串的常见操作

# 字符串的常见操作

str1 = "abcdefg"
# 字符串的长度
str1.__len__()
len(str1)

# 固定10个字符,不够的补*
str1.center(10, '*')    # 一共10个字符,str1居中,不够位补"*"
str1.ljust(10, '*')     # 一共10个字符,str1居左,不够位补"*"
str1.rjust(10, '*')     # 一共10个字符,str1居右,不够位补"*"

# 判断字符串是否以"xxx"结尾或开头,"xxx"表示任务字符串
str1.startswith("abc")
str1.endswith("bbc")

# 判断字符'a'在字符串里共出现了多少次
str1.count('a')

其他字符串方法

abc = "abcdefg"

print(abc.capitalize()) # 整个字符串的首字母大写
print(abc.title())   # 每个单词的首字母大写
print(abc.upper())   # 全大写
print(abc.lower())   # 全小写
print("HAHAhehe".swapcase()) # 字符串里大小写互换

print(" haha
".strip()) # 删除字符串左边和右边的空格或换行 (常用,处理文件的换行符很有用)
print(" haha
".lstrip()) # 删除字符串左边的空格或换行
print(" haha
".rstrip()) # 删除字符串右边的空格或换行

print(abc.find("nice")) # 找出nice在字符串的第1个下标,找不到会返回-1
print(abc.rfind("e")) # 找出最后一个e字符在字符串的下标,找不到会返回-1
print(abc.index("nice")) # 与find类似,区别是找不到会有异常(报错)
print(abc.rindex("e")) # 与rfind类似,区别是找不到会有异常(报错)
print(abc.isalnum()) # 判断是否为数字字母混合(可以有大写字母,小写字母,数字任意混合)
print(abc.isalpha()) # 判断是否全为字母(分为纯大写,纯小写,大小写混合三种情况)
print(abc.isdigit()) # 判断是否为纯数字
print(abc.islower()) # 判断是否为纯小写字母
print(abc.isspace()) # 判断是否为全空格
print(abc.upper().isupper()) # 先把abc字符串全转为大写,再判断是否为全大写字母,结果为Tru

五.字符串习题

# 1. 输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。
# 如输入: This is a python program. 输出:There are 5 words in the line.

string = input("pls input a string:")

str_list = string.split(' ')  
print("There are {} words in the line.".format(str_list.__len__()))
原文地址:https://www.cnblogs.com/golinux/p/10771253.html