字符串

字符串

【单引号】、【双引号】、【三引号】

name1 = 'Tom'
name2 = "Rose"
name3 = ''' Tom '''
name4 = """ Rose """
a = ''' i am Tom,
    nice to meet you! '''  # 三引号实现换行
b = """ i am Rose,
    nice to meet you! """

【 ’ 的写法】

c = "I'm Tom"
d = 'I\'m Tom'

字符串的【输出】

print('hello world')
name = 'Tom'
print('我的名字是%s' % name)
print(f'我的名字是{name}')

字符串的【输入】,input默认输入的是字符串

name = input('请输⼊入您的名字:')
print(f'您输⼊入的名字是{name}')
print(type(name))      # str
password = input('请输⼊入您的密码:')
print(f'您输⼊入的密码是{password}')
print(type(password))  # str

【下标】

"""
“下标” 又叫“索引”
"""
name = "abcdef"
print(name[1])  # b
print(name[0])  # a
print(name[2])  # c

【切片】

"""
语法:
    序列[开始位置下标:结束位置下标:步⻓]
注意:
    1. 不包含结束位置下标对应的数据, 正负整数均可;
    2. 步长是选取间隔,正负整数均可,默认步长为1。
"""
name = "0123456"
print(name[2:5:1])     # 234
print(name[2:5])       # 234
print(name[:5])        # 01234
print(name[1:])        # 123456
print(name[:])         # 0123456
print(name[::2])       # 0246
print(name[:-1])       # 012345, 负1表示倒数第⼀个数据
print(name[-4:-1])     # 345
print(name[::-1])      # 6543210,步长为负表示倒序
print(name[-4:-1:-1])  # 不能选取出数据,-4到-1方向为从左向右
# 选取数据的方向与步长方向冲突,则不能选取出数据
print(name[-1:-4:-1])  # 654

字符串操作(查找、修改、判断)

【查找】

"""
查找⼦串在字符串中的位置或出现的次数
"""

find()、rfind()

"""
find(): 检测某个⼦串是否包含在这个字符串中,如果在返回子串开始的位置下标,【不在返回-1】

rfind(): 和find()功能相同,但查找⽅向为右侧开始

语法:
    字符串序列.find(⼦串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.find('and'))          # 12
print(mystr.rfind('and'))         # 35
print(mystr.find('and', 15, 30))  # 23
print(mystr.find('ands'))         # -1

index()、rindex()

"""
index(): 检测某个⼦串是否包含在这个字符串中,如果在返回子串开始的位置下标,【不在则报异常】

rindex(): 和index()功能相同,但查找⽅向为右侧开始

语法:
    字符串序列.index(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.index('and'))          # 12
print(mystr.rindex('and'))         # 35
print(mystr.index('and', 15, 30))  # 23
print(mystr.index('ands'))         # 报错!后面的语句不执行

count()

"""
count(): 返回某个子串在字符串中出现的次数

语法:
    字符串序列.count(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.count('and'))          # 3
print(mystr.count('ands'))         # 0
print(mystr.count('and', 0, 20))   # 1

【修改】

replace(): 替换

"""
replace(): 返回修改后的字符串,原有字符串没有变

语法:
    字符串序列.replace(旧子串, 新子串, 替换次数)

    替换次数省略默认全部

数据按照是否能直接修改分为可变类型和不可变类型两种。
字符串类型的数据修改的时候【不能改变原有字符串】,属于不能直接修改数据的类型即不可变类型。
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.replace('and', 'he'))
print(mystr.replace('and', 'he', 1))
print(mystr)         # 结果是原mystr,不是替换后的结果
new_mystr = mystr.replace('and', 'he')
print(new_mystr)

split(): 分割

"""
split(): 返回num + 1个字符串,分割字符丢失

语法:
    字符串序列.split(分割字符, 分割字符出现的次数num)
    
    num省略默认全部
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.split('and'))
print(mystr.split('and', 2))
print(mystr.split(' '))
print(mystr.split(' ', 2))

join(): 合并

"""
join(): ⽤一个字符或子串合并字符串,即将多个字符串合并为一个新的字符串

语法:
    字符或子串.join(多字符串组成的序列)
"""
list1 = ['chuan', 'zhi', 'bo', 'ke']
t1 = ('aa', 'b', 'cc', 'ddd')
print('_'.join(list1))   # 结果:chuan_zhi_bo_ke
print('...'.join(t1))    # 结果:aa...b...cc...ddd

大小写转换

mystr = "hello Hello hELLO"

capitalize(): 将字符串第一个字符转换成⼤写

print(mystr.capitalize())   # 结果:Hello hello hello

title():将字符串每个单词⾸字母转换成⼤写

print(mystr.title())        # 结果:Hello Hello Hello

lower():将字符串中⼤写转小写

print(mystr.lower())        # 结果:hello hello hello

upper():将字符串中小写转大写

print(mystr.upper())        # 结果:HELLO HELLO HELLO

删除空白字符

mystr = "        hello world and itcast and itheima and Python         "

lstrip():删除字符串左侧空白字符

print(mystr.lstrip())

rstrip():删除字符串右侧空白字符

print(mystr.rstrip())

strip():删除字符串两侧空白字符

print(mystr.strip())

对齐

mystr = "hello"

ljust():返回一个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应长度的新字符串

print(mystr.ljust(10, '.'))   # 结果:hello.....

rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充⾄对应⻓度的新字符串

print(mystr.rjust(10, '.'))   # 结果:..hello

center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应长度的新字符串

print(mystr.center(10, '.'))   # 结果:..hello...

【判断】

"""
判断真假,返回的结果是布尔型数据:True 或 False
"""

startswith():是否以指定⼦串开头

"""
startswith():检查字符串是否以指定⼦串开头,是则返回 True,否则返回 False。
              如果设置开始和结束位置下标,则在指定范围内检查。
语法:
    字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python "
print(mystr.startswith('hello'))         # 结果:True
print(mystr.startswith('Hello'))         # 结果:False
print(mystr.startswith('hello', 5, 20))  # 结果False

endswith():是否以指定⼦串结尾

"""
endswith():检查字符串是否以指定⼦串结尾,是则返回 True,否则返回 False。
            如果设置开始和结束位置下标,则在指定范围内检查。
语法:
    字符串序列.endswith(子串, 开始位置下标, 结束位置下标)
"""
mystr = "hello world and itcast and itheima and Python"
print(mystr.endswith('Python'))         # 结果:True
print(mystr.endswith('python'))         # 结果:False
print(mystr.endswith('Python', 2, 20))  # 结果:False

isalpha():如果字符串至少有一个字符,并且所有字符都是字母则返回 True, 否则返回 False

mystr1 = 'hello'
mystr2 = 'hello12345'
print(mystr1.isalpha())  # 结果:True
print(mystr2.isalpha())  # 结果:False 空格也算字符

isdigit():如果字符串只包含数字则返回 True,否则返回 False

mystr1 = 'aaa12345'
mystr2 = '12345'
print(mystr1.isdigit())  # 结果:False
print(mystr2.isdigit())  # 结果:True

isalnum():如果字符串⾄少有⼀个字符,并且所有字符都是字⺟或数字则返回 True, 否则返回False

mystr1 = 'aaa12345'
mystr2 = '12345-'
print(mystr1.isalnum())  # 结果:True
print(mystr2.isalnum())  # 结果:False

isspace():如果字符串中只包含空白则返回 True,否则返回 False

mystr1 = '1 2 3 4 5'
mystr2 = ' '
print(mystr1.isspace())  # 结果:False
print(mystr2.isspace())  # 结果:True

你可能感兴趣的:(Python(学习笔记),python)