字符串的内置方法(重要)
1. lower upper
res = 'keViN123 oldBoY'
print(res.lower()) # kevin123 oldboy
print(res.upper()) # KEVIN123 OLDBOY
小练习:
"""
图片验证码不区分大小写
思路:把用户输入的验证码全部转为大写或者小写,跟原来的验证码都转为大写或者小写进行比较
"""
# old_code = 'oldBoY'
# print('返回给你的验证码是:%s' % old_code)
# # 用户输入的验证码
# real_code=input('请输入验证码:')
# # if old_code.lower() == real_code.lower():
# if old_code.upper() == real_code.upper():
# print('验证码输入正确')
# else:
# print('验证码错误')
补充:
print(res.islower()) # False
print(res.isupper()) # False
2.startswith endswith
判断首尾是否以某字母开头。
res = 'Kevin123 OldGirl'
print(res.startswith('K')) # True
print(res.startswith('kev')) # True
print(res.startswith('Keva')) # True
print(res.endswith('Girl'))
print(res.endswith('rl'))
3.格式化输出
format方法格式化
'''第一种玩法'''
# s = 'my name is %s, my age is %s' % ('kevin', 18)
# s = 'my name is {}, my age is {},{}{}{}'
# print(s.format('kevin', 20, 'a', 'b', 'c')) # my name is kevin, my age is 20
'''第二种玩法'''
# s = '{0}my name is {1}, my age is {0}{0}{0}{0}{0}, {2}'
# print(s.format('tony', 22, 'helloworld'))
'''第三种玩法'''
s = '{age}my name is {name}, my age is {age}{name}{name}{name}{name}{name}{name}'
print(s.format(name='kevin', age=20))
4.join的用法
l = ['tony', 'kevin', 'jack', 'tom']
# |
print(l[0] + '|' + l[1] + '|' + l[2] + '|' + l[3]) # tony|kevin|jack|tom
print('|'.join(l))
5.replace 替换字符串
s = 'my name is kevin kevin kevin kevin'
print(s.replace('kevin', 'jack', 2))
6.isdigit
s = '123'
# print(s.isdigit())
guess_age = input('请输入你的年龄:')
if guess_age.isdigit():
if int(guess_age) == 18:
print('猜对了')
else:
print('你输入的年龄不合法')
7.字符串了解
'''字符串内置方法需要了解的'''
msg='tony say hello hello hello'
# print(msg.find('s')) # 5
# print(msg.find('hello')) # 9
# print(msg.find('helloa')) # -1
'''find:是用来判断一个子字符串是否在另外一个字符串中'''
# in
# print(msg.index('s')) # 5
# print(msg.index('hello')) # 5a
# print(msg.index('helloa')) # 如果查不到字符串直接报错
# print(msg.count('hello')) # 3
# print(msg.count('helloa')) # 0
# res = 'kevin'
# print(res.center(16, '@')) # 居中展示
# print(res.ljust(16, '@')) # 左对齐
# print(res.rjust(16, '@')) # 右对齐
# 4.captalize,swapcase,title
res = 'my name is kevin'
print(res.title()) # My Name Is Kevin
print(res.capitalize()) # My name is kevin
print(res.swapcase()) # MY NAME IS KEVIN
9.列表的内置方法(重点)
1. 类型转换
# print(list(123)) 不可
# print(list(1.11)) 不可
print(list('hello')) # ['h', 'e', 'l', 'l', 'o']
print(list([11, 22, 33, 44])) # [11, 22, 33, 44]
print((list({'username':"kevin", "age":20}))) # ['username', 'age']
print(list((11, 22, 33, 44))) # [11, 22, 33, 44]
print(list({11, 22, 33, 44})) # [33, 11, 44, 22]
2.列表的增加和修改
# my_friends = ['tony', 'jason', 'tom', 4, 5]
# print(my_friends[0])
# 1. 修改值
# my_friends[0] = 'jack'
# print(my_friends)
'''列表的最大索引长度:len(l)-1'''
2.增加值 第一种方式
# my_friends[5] = 666 # 不能这样增加
# my_friends.append(666)
# my_friends.append(777)
# my_friends.append(888) # 追加到末尾位置
# print(my_friends)
# 增加值:第二种方式
# my_friends.insert(0, 999)
# my_friends.insert(1, 999)
# print(my_friends)
# 增加值:第三种方式
# my_friends.append([11, 22, 33, 44]) # 把列表的整体添加到末尾
# my_friends.extend([11, 22, 33, 44]) # 列表的合并
# print(my_friends)
# l = ['kevin', 'jack', 'tom']
# l1 = ['a', 'b', 'c', 'd']
# l.extend(l1) # for循环+append
# print(l)
# for i in l1:
# l.append(i)
#
# print(l)
my_friends = ['tony', 'jason', 'tom', 4, 5, 6, 7, 8]
print(my_friends[0:3]) # (顾头不顾尾,步长)
print(my_friends[0:5:2]) # (顾头不顾尾,步长)
# 3.长度
print(len(my_friends))
3.列表的删除
'''删除'''
# del # delete
# 第一种方式
# del my_friends[0] # ['jason', 'tom', 4, 5, 6, 7, 8]
# del my_friends[0]
# del my_friends[4]
# print(my_friends)
# 第二种方式
my_friends = ['tony', 'jason', 'tom', 4, 5, 6, 7, 8]
# aa = my_friends.remove('jason') # 括号中直接写删除的元素。可不是索引
# print(aa) # None 空
# print(my_friends)
# 第三种方式
# my_friends.pop() # 弹出元素
# my_friends.pop()
# my_friends.pop()
# aa = my_friends.pop()
# print(aa)
s = my_friends.pop(1) # 用的也比较多
print(s)
print(my_friends)
10.可变不可变
可变类型:列表
值改变,内存地址没有改变
不可变类型:整型 浮点型 字符串
值改变,内存地址也改变