栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础学习笔记-day6

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础学习笔记-day6

Day6 1. 字符串
作用:传递信息
字符串表达式:使用单引号、双引号引起来的一串符号叫字符串。‘’, “”, ‘’‘’‘’,“”“”“”
字符串的性质:a.字符串是有序的(下标、切片)
b.字符串是不可变的(没有增删改)
c.字符串的容器符号’‘, “”, ‘’’‘’',“”“”“”;类型:str
d.字符串分类:普通字符、转义字符、原始字符串
1.1 转义字符
a.有特殊含义的符号。原来转义字符规定使用加数字表示有特殊意义的符号;
b.现在C语言规定加特定符号表示有特殊意义的符号;
c.指定符号可以使用有特殊含义的符号变成其本身,可以让没有特殊含义费符号变得有特殊意义。
print('abtcnd')
print("ab'cd")
print('ab'cd')
print('ab\tcd')
1.2 原始字符串
a.在字符串前边添加r或者R,能够将字符串中的转义字符变成其本身;
b.一个转义字符长始终为1,添加了原始字符串的转义字符长度是2。
print('12t34')
print(r'12t34')
print(len(r't'),len('t'))  #→ 2,1
2. 字符串的运算
2.1 字符串的拼接(得到的是新的字符串对象)print('ab'+'cd')#abcd
2.2 字符串的重复print('*'*20)#20个*
2.3 字符串比较大小Python代码
a. 比较第一对不相同元素的大小(编码值)print('ab'>'c')#False print('ab。'>'abc')#True
b. Python使用的编码表是ASCII码表的拓展表Unicode编码表(万国码)0-9对应范围:48-57;A-Z:65-90;a-z:97-122
c. chr()→能够将进制转换成对应的符号print(chr(12290))
d. ord()→能够将符号转换为十进制print(ord('。'))
  • 练习:所有的中文 u4a00→u9fa5
print(ord('u4a00'),ord('u9fa5'))
for i in range(19968,40870):
	print(chr(i),end='')
3. 字符串的成员运算:in,not in
扩展:进制转换
a. 二进制:0、1
b. 举例A的二进制代码:0b01000001,十进制代码:65,十六进制代码:0x41,八进制符号:0o101
c. hex() - 将进制转换为十六进制
d. oct() - 讲进制转换为八进制
#in成员运算
print('a' in 'abcd')

#进制转换
print(hex(65))
print(oct(65))
4. 下标和切片
  • 5.1 举例:
str1="""    #→"代表n,占用一个下标
从前有座山,
山上有座庙,
庙里有个老和尚,
老和尚对小和尚说
"""
print(str1[5])  #获取第一个“山”,下标为5
print(str1[-2])  #“说”的下标

注意:一个回车键代表一个n,长度为1

  • 练习切片:
  1. 将“从前有座山”取出
print(str1[1:6])
  1. 将”庙有老“取出
print(str1[15:20:2])
  1. 将“庙座有上山”取出
print(str1[12,7,-1])#倒序切片
  • 5.2 一行完整的内容如何换行?
num=1+2+3+4+5+6+7+8  #仅作代码换行,对print结果无影响
+1+2+3+4+5+6+7+8
str2='3245678'
	'9087654'
print(str2)  #32456789087654
5. 字符串的遍历
  • 5.1 循环(遍历),练习题1
str1='王者荣耀'
#直接遍历:
for i in str1:
	print(i)
#间接遍历:
for i in range(len(str1)):
	print(str1[i])
#获取“王荣”
for i in range(0,len(str1),2)#→修改默认步长,起始值必写
	print(str1[i])
  • 5.2 练习2:“abcderf”→“ABCDERF"
print(ord('a'), ord('A')) # a→A,十进制:97→65,相差32
str2 = "abcderf"
str3 = ''
for i in str1:
    str2 += chr(ord(i) - 32)  
    # str2=str2+chr(ord(i) - 32)
print(str2)
  • 5.3 练习3:“abcdABCD一二三四”→“ABCDabcd一二三四"
str4=“abcdABCD一二三四”
str5=''
for i in str4:

#字符串中第一种类型元素(小写字母)满足条件
	if'a'<=i<='z': 
#可直接写十进制代码值,
	#if 97<=ord(i)<=122: 
		str5+=chr(ord(i)-32)
		
#字符串中第二种类型元素(大写字母)满足条件		
	elsif'A'<=i<='Z':
#可直接写十进制代码值,
	#if 65<=ord(i)<=90:
		str5+=chr(ord(i)+32)
		
	else:

#字符串中第三种类型元素(汉字)满足条件
		str5+=i
		
print(str5)
6. 字符串的方法和函数
序号函数类型函数描述
1upper()小写字母转大写字母
2lower()大写字母转小写字母
3capitalize()将字符串中首字母转大写,必须是以字母开头的字符串
4title()将字符串中所有连续英文字母的子串首字母转大写
5split()切割,以指定符号为切割点,将切割点左右的字符串分开并保存到列表中
6join()将一个所有元素均为字符串的序列(容器)中的所有元素以指定符号拼接起来
7strip()默认去掉字符串头尾的空符号(空格、n、t等都是空符号),也可以指定去除的符号
8replace(‘old_str’,‘new_str’)替换,将一个字符串中全部old_str替换成new_str
9replace(‘old_str’,‘new_str’,次数)将一个字符串中指定数量的old_str替换成new_str
  • upper() - 小写字母转大写字母
    print('abcANC3245,。;'.upper())
  • lower() - 大写字母转小写字母
    print('abcANC3245,。;'.lower())
  • capitalize() - 将字符串中首字母转大写,必须是以字母开头的字符串
    print('abc123D456;.b'.capitalize())
  • title() -将字符串中所有连续英文字母的子串首字母转大写
    print('abc123D456;.b'.title())
  • split()→切割,以指定符号为切割点,将切割点左右的字符串分开并保存到列表中
result1='1,2,3,'.split(',')
print(result1)  #→['1','2','3','']
print('3'+''=='3')  #→True
  • join()→将一个所有元素均为字符串的序列(容器)中的所有元素以指定符号拼接起来
result2=','.join(result1)
print(result2)
  • strip()→默认去掉字符串头尾的空符号(空格、n、t等都是空符号),也可以指定去除的符号
str1='nabc tn'
print('*'*20)
print(str1)  #换行+abc+空格+空符号+换行
print('*'*20)
print(str1.strip()) #去除空符号
print('*'*20)
print(str1.strip('n')) #指定去除n换行空符号
print('*'*20)
print('abc'.strip('*'))
  • replace(‘old_str’,‘new_str’)→替换,将一个字符串中全部old_str替换成new_str
  • replace(‘old_str’,‘new_str’,次数)→将一个字符串中指定数量的old_str替换成new_str
str1 = ',1,2,3'
print(str1.replace(',', ''))  # 123
print(str1.replace(',', '', 2))  # 12,3
  • jieba→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)

``
str1 = “你可真是个垃圾”
list1 = [‘你’, ‘可’, ‘真是’, ‘个’, ‘垃圾’]
stop_words = [‘垃圾’, ‘菜鸡’, ‘辣鸡’]
str2 = ‘’
for i in list1:
if i in stop_words:
str2 += str1.replace(i,‘*’*len(i))
print(‘屏蔽不文明用语之后的结果:’,str2)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998127.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号