概念
\ (反斜线) 就是转义符, 作用: (1)将有意义的转换成无意义的 或者 (2)将无意义的转换成有意义
例如
无意义: n t r , 如果 \n \t (横向制表符) \r (回车符)
有意的: 列如 双引号中的双引号 , 单引号中的单引号 , \
无意义的变成有意义的
print('床前\t明月光,\n疑似地上霜.\n举头\r望明月')
有意义的变成无意义
print("床前明月光,疑似地上霜.举头望明月\"")
print("床前明月光,疑似地上霜.举头望明月\\")
print("床前明月光,疑似地上霜.举头望明月\\n")
语法:
字符 = 字符串[索引]
s = '床前明月光,疑似地上霜.举头望明月'
print(s[0])
print(s[1])
print(s[2])
语法:
索引= 0;
长度 = len(字符串)
while 索引 < 长度:
元素 = 字符串[索引]
索引+=1
s = '床前明月光,疑似地上霜.举头望明月'
i = 0
len1 = len(s)
while i < len1:
print(s[i])
i += 1
for只能够通过从头到尾 依次 从 字符串 中取出 每⼀个字符并执⾏相同的操作。
语法:
for 字符 in 字符串:
print(字符)
s = '床前明月光,疑似地上霜.举头望明月'
for w in s:
print(w)
常用
string.isdigit() # 如果字符串只包含数字,则返回True (全角数字,(0),\u00b2)
srting.islower() # 如果string中至少包含一个区分大小写的字符,并且所有这些字符(区分大小的)都是小写,则返回True
srting.isupper() # 如果string中至少包含一个区分大小写的字符,并且所有这些字符(区分大小的)都是大写,则返回True
其他
string.isspace() # 如果字符串中只包含空格,则返回True
string.isalnum() # 如果字符串至少有一个字符,并且所有字符都是字母或数字,则返回True
string.isalpha() # 如果字符串至少有一个字符,并且所有字符都是字母,则返回True
string.isdecimal() # 如果字符串只包含数字,则返回True (全角数字)
string.isnumberic() # 如果字符串只包含数字,则返回True (全角数字,汉字数字)
string.istitle() # 如果字符串是标题化的(每个单词的首字母是大写)则返回True
‘’’
s = 'aBc123'
print(s.isdigit()) # 如果字符串只包含数字,则返回True (全角数字,(0),\u00b2)
print(s.islower()) # 如果string中至少包含一个区分大小写的字符,并且所有这些字符(区分大小的)都是小写,则返回True
print(s.isupper()) # 如果string中至少包含一个区分大小写的字符,并且所有这些字符(区分大小的)都是大写,则返回True
常用
string.startswith(str) # 检查字符串是否以str开头,是 则返回True
string.endswith(str) # 检查字符串是否以str结束,是 则返回True
string.find(str,start=0,end=len(string)) # 检查str是否在字符串string中,如果指定start和end范围,则检查是否在范围中,是则返回开始的索引值,否则返回-1
其他
string.rfind(str,start=0,end=len(string)) # 类似find,不过是从右边开始查找 (待确认返回值是从哪边开始,)
string.index(str,start=0,end=len(string)) # 类似find,不过如果str不在string 会报错
string.rindex(str,start=0,end=len(string)) # 类似find,不过是从右边开始查找 (待确认返回值是从哪边开始,)
string.replace(old_str,new_str,num) # 把string中的old_str替换成new_str,如果num指定,则不超过num次,num为int类型
‘’’
string = 'st1stradfasf123'
print(string.startswith('str')) # 检查字符串是否以str开头,是 则返回True
print(string.endswith('str')) # 检查字符串是否以str结束,是 则返回True
print(string.find('str')) # 检查str是否在字符串string中,如果指定start和end范围,则检查是否在范围中,是则返回开始的索引值,否则返回-1
常用
string.lower() # 把字符串中的所有字母小写
string.upper() # 把字符串中的所有字母大写
string.swapcase() # 翻转string中的大小写
其他
string.capitalize() # 把字符串中的第一个字符大写
string.title() # 把字符串中的每个单词的首字母大写
string = 'abdABC'
print(string.lower()) # 把字符串中的所有字母小写
print(string.upper()) # 把字符串中的所有字母大写
print(string.swapcase()) # 翻转string中的大小写
常用
ss.join(seq) # 以ss作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
string.split(str,num) # 以str为分隔符拆分string,如果num有指定值,则仅分隔num次,str不设置则使用’\t’,’\r’,’\n’和空格作为分隔符
其他
string.patition(str) # 把字符串string分成3个元素的元组(str前面,str,str后面)
string.rpatition(str) # 类似patition的方法,只不过是从右边开始查找
spring.splitlines() # 按照行(’\r’,’\n’,’\r\n’)分隔,返回一个包含各行作为元素的列表
list = ['adfa','1233','xxxx']
string = '123xaaaxbbbbx111'
print('ss'.join(list)) # 以ss作为分隔符,将list列表中所有的元素(的字符串表示)合并为一个新的字符串
print(string.split('x')) # 以x为分隔符拆分字符串string(输出列表),如果num有指定值,则仅分隔num次,str不设置则使用'\t','\r','\n'和空格作为分隔符
string.strip(s) # 截掉左右两边的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
string.lstrip() # 截掉左边(开头)的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
string.rstrip() # 截掉右边(结尾)的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
string = ' 12aaxx12aa21xx221aa '
print(string.strip()) # 截掉左右两边的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
print(string.lstrip(' 12a')) # 截掉左边(开头)的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
print(string.rstrip(' 12a')) # 截掉右边(结尾)的字符s,可以截掉多个字符,不分顺序,空值为截掉空格
掌握 字典数据类型
备注:
什么情况下使用字典
info = {
'姓名':'张二',
'性别':'男',
'电话':'13411221122',
'职位':'销售'
}
print(info)
print(type(info))
如果key不存在,添加键值对。如果key存在,修改value。
语法:
字典[key] = value
info = {
"id":1,"name":"张飞","sex":"男","age":18}
info['name'] = '王虎'
info['tel'] = '13422112211'
print(info)
print(type(info))
如果key不存在,添加键值对key:value1,并返回添加的value1。如过key存在,不修改key的值,返回key原来的值
语法:
v1 = 字典.setdefault(key,value1)
info = {
"id":1,"name":"张飞","sex":"男","age":18}
value = info.setdefault('name','马超')
value2 = info.setdefault('tel',13433113311.1)
print(value)
print(type(value))
print(value2)
print(type(value2))
print(info)
将字典2的数据合并到字典,字典2会覆盖字典中已存在的内容
语法:
字典.update(字典2)
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18}
info1 = {
"tel": '13433113311', "name": "张飞", }
info2 = {
"id": 1, "name": "李四", "sex": "女", }
info.update(info1)
print(info)
info.update(info2)
print(info)
删除指定键值对,如果key不存在就会报错
语法:
del 字典[key]
字典.pop(key)
备注:pop返回的是删除的键值对的值,类型是字符串
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18}
del info["age"]
print(info)
key = info.pop('sex')
print(key)
print(type(key))
print(info)
删除指定键值对,如果key不存在就会报错
语法:
字典.clear()
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18}
info.clear()
print(info)
语法:
字典[key] 根据key查询值,如果key不存在就会报错
字典.get(key) 根据key查询值,如果key不存在返回None
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18,'height':1.75}
print(info['id'])
print(type(info['id']))
print(info.get('height'))
print(type(info.get('height')))
print(info.get('tel'))
print(type(info.get('tel')))
语法:
len(字典)
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18,'height':1.75}
s = len(info)
print(s)
语法:
字典.values()
备注:返回类型为dict_values类型(字典值)
只能转为列表
再用 列表[索引] 取出值
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18,'height':1.75}
values = info.values()
print(values)
print(type(values))
values1 = list(values)
print(values1)
print(type(values1))
v1 = values1[1]
print(v1)
语法:
字典.keys()
备注:和值一样,返回类型为dict_keys类型(字典键)
只能转为列表
再用 列表[索引] 取出值
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18,'height':1.75}
keys = info.keys()
print(keys)
print(type(keys))
key1 = list(keys)
print(key1)
print(type(key1))
k1 = key1[1]
print(k1)
语法:
value = key in 字典
value值一定是一个boolean类型的数据
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18,'height':1.75}
s1 = 'id' in info
print(s1)
s2 = 'tel' in info
print(s2)
语法:
for key in 字典:
value = 字典[key]
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18, 'height': 1.75}
for key in info: # 遍历所有键
print(key) # 打印(key)
语法:
for value in 字典.values():
value
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18, 'height': 1.75}
for value in info.values(): # 遍历所有键
print(value) # 打印
语法:
for item in 字典.items():
item
备注:输出数据类型为元组
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18, 'height': 1.75}
for item in info.items():
print(item)
print(type(item))
语法:
for key,value in 字典.items():
key,value
info = {
"id": 1, "name": "张飞", "sex": "男", "age": 18, 'height': 1.75}
for keys,values in info.items():
print(keys,values)
概念:
集合 是 一个无序的没有重复元素的 容器
定义:
集合={元素1,元素2,}
集合=set({元素1,元素2,})
注意:
空集合: 只能通过 set() 定义空集合
集合作用: 用于去除容器中的重复数据
names = ["张飞", "刘备", "关羽", "张飞"]
names = list(set(names))
print(names)
例如:
set1 = {
"张飞", "刘备", "关羽", "张飞"}
print(set1)
空集合
只能用set()
set2 = set() # 空字典
print(set2)
print(type(set2))