赞
踩
字符串
作用:传递信息
字符串表达式:使用单引号或双引号引起来的一串符号叫字符串。
如:’ ‘, " ", ‘’’ ‘’', “”" “”"
字符串的性质
a. 字符串是有序的(下标、切片)
b. 字符串是不可变的(没有增删改)
c. 字符串的容器符号’‘, “”, ‘’’ ‘’', “”" “”";类型:str
d. 字符串分类:普通字符、转义字符、原始字符串
a. 有特殊含义的符号。原来转义字符规定使用 \ + 数字表示有特殊意义的符号。
b. 现在C语言规定 \ + 特定符号表示有特殊意义的符号。
c. \ + 指定符号可以使有特殊含义的符号变成其本身,可以让没有特殊含义的符号变得有特殊意义。
print('a\rb\tcd\ne') # \t相当于insert(改写)
# 运行结果
'''
b cd
e
'''
print('ab\'cd')
# 运行结果
# ab'cd
print('ab\\tcd')
# 运行结果
# ab\tcd
a. 在字符串前面添加r或R,能将字符串中的转义字符变成其本身。
b. 一个转义字符长度始终为1,添加了原始字符串的转义字符长度是2。
print('12\t34')
# 运行结果
# 12 34
print(r'12\t34')
# 运行结果
# 12\t34
print(len(r'\t'), len('\t'))
# 运行结果
# 2 1
print('ab' + 'cd')
# 运行结果
# abcd
print('*' * 20)
# 运行结果
# ********************
a. 比较第一对不相同元素的大小(编码值)
b. Python使用的编码表是ASCII编码表的拓展表Unicode编码表(万国码)
print('ab' > 'c') # False
print('ab。' > 'abc')
# 运行结果
# False
# True
0-9对应的范围:48-57
A-Z对应的范围:65-90
a-z对应的范围:97-122
所有的中文:\u4e00-\u9fa5(19968-40869)
print(ord('\u4e00'), ord('\u9fa5'))
for i in range(19968, 40870):
print(chr(i), end='')
# 运行结果
'''
一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟丠両丢丣两严並丧丨丩个丫丬中丮丯丰丱串
(略)
齷齸齹齺齻齼齽齾齿龀龁龂龃龄龅龆龇龈龉龊龋龌龍龎龏龐龑龒龓龔龕龖龗龘龙龚龛龜龝龞龟龠龡龢龣龤龥----
'''
print('a' in 'abcd')
# 运行结果
# True
chr() - 能够将进制转换成对应的符号
ord() - 能够将符号转换为十进制
print(ord('。'))
print(chr(12290))
# 运行结果
# 12290
# 。
二进制:0、1
如A:
二进制:0b01000001
十进制:65
十六进制:0x41
八进制:0o101
print(chr(0b01000001), chr(65), chr(0x41), chr(0o101))
# 运行结果
# A A A A
hex() - 将进制转换为十六进制
oct() - 将进制转换为八进制
print(hex(65))
print(oct(65))
# 运行结果
'''
0x41
0o101
'''
str1 = """
从前有座山,
山上有座庙,
庙里有个老和尚和一个小和尚,
老和尚的对小和尚说:
"""
获取第一个"山",下标为5
print(str1[5])
# 运行结果
# 山
根据"说"的下标获取“说”
print(str1[-3])
# 运行结果
# 说
1.将“从前有座山”取出。
2.将“庙有老”取出来
3.将“庙座有上山”取出
print(str1[1: 6])
print(str1[15: 21: 2])
print(str1[12: 7: -1])
# 运行结果
'''
从前有座山
庙有老
庙座有上山
'''
输入 \ 后按enter键
num = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 \
+ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8
print(num)
str2 = '123456'\
'7890123'
print(str2)
# 运行结果
'''
72
1234567890123
'''
str1 = '王者荣耀'
for i in str1:
print(i)
#运行结果
'''
王
者
荣
耀
'''
str1 = '王者荣耀'
for i in range(len(str1)):
print(str1[i])
#运行结果
'''
王
者
荣
耀
'''
获取“王荣”
str1 = '王者荣耀'
for i in range(0, len(str1), 2): # 一定要写初始值
print(str1[i])
# 运行结果
'''
王
荣
'''
str2 = 'abcdef'
str3 = ''
# print(ord('a'))
for i in str2:
str3 += chr(ord(i) - 32)
print(str3)
# 运行结果
# ABCDEF
str4 = 'abcdABCD一二三四'
str5 = ''
for i in str4:
if 'a' <= i <= 'z':
str5 += chr(ord(i) - 32)
elif 'A' <= i <= 'Z':
str5 += chr(ord(i) + 32)
else:
str5 += i
print(str5)
# 运行结果
# ABCDabcd一二三四
print('abc'.upper())
# 运行结果
# ABC
print('ABC'.lower())
# 运行结果
# abc
print('abc12345hbvdg;.n'.capitalize())
# 运行结果
# Abc12345hbvdg;.n
print('abc12345hbvdg;.n;,m'.title())
# 运行结果
# Abc12345Hbvdg;.N;,M
result1 = '1, 2, 3, a'.split(',')
print(result1)
print('3' + '' == '3')
# 运行结果
'''
['1', ' 2', ' 3', ' a']
True
'''
result1 = ['1', ' 2', ' 3', ' a']
result2 = ','.join(result1)
print(result2)
# 运行结果
# 1, 2, 3, a
如:
str1 = '\nabc \t\n'
print('----------')
print(str1)
print('----------')
# 运行结果
'''
----------
abc
----------
'''
str1 = '\nabc \t\n' print('----------') print(str1) print('----------') print(str1.strip()) print('----------') print(str1.strip('\n')) print('----------') print('abc*'.strip('*')) # 运行结果 ''' ---------- abc ---------- abc ---------- abc ---------- abc '''
str1 = ',1,2,3,'
print(str1.replace(',', ''))
print(str1.replace(',', '', 2))
# 运行结果
'''
123
12,3,
'''
王者荣耀: 屏蔽不文明词汇
“你可真是个垃圾”
主语、谓语、宾语等
Python中有一个模块jieba(结巴)
[‘你’, ‘可’, ‘真是’, ‘个’, ‘垃圾’]
现存一个词库(停用词):
[‘垃圾’, ‘菜鸡’, ‘辣鸡’]
如果jieba分词之后的结果在停用词库中出现过,直接进行替换。
str1 = "你可真是个垃圾"
list1 = ['你', '可', '真是', '个', '垃圾']
stop_words = ['垃圾', '菜鸡', '辣鸡']
str2 = ''
for i in list1:
if i in stop_words:
str2 += str1.replace(i, '*'*len(i))
print('屏蔽不文明用语之后的结果:', str2)
# 运行结果
# 屏蔽不文明用语之后的结果: 你可真是个**
Day6 over!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。