数据类型和词图云制作
day04
一、数据类型
1.整型
定义整型:
-
a = 8
-
a = int(8)
a= int('8')
a = float(8.9) print(a) 结果是: 8
2. 浮点型
定义浮点型:
-
a = 1.6
-
a =float(1.6)
a = float('1.6')
a = float(5) print(a) 结果是: 5.0
3.字符串类型
(1)定义方式:
- (双单引号)' 内容 ' ;(双双引号)" 内容";(双三引号)''' 内容 ''' ,没有被单引号串起来的字符都叫变量名
- 当字符串中包含单引号时用双引号定义:st = "我们大家的I'm good."同理当字符串中包含双引号是用单引号定义当字符串中包含单引号和双引号时,用三引号定义(此外,三引号还可以用来进行多行注释)
(2)字符串内置的一些方法,只有字符串能使用
如字符串: s = 'hou shao wu',可以用单引号、双引号、三单双引号定义
- stratwith 以...开始
print(s.startwith('hou')) #结果: True
-
endwith 以...结束
print(s.endwith('wu')) #结果: True
没有删除方法
(3)使用方法:索引取值、索引切片(没有索引修改值)
索引取值
字符串和列表中的元素,从首部开始往后,都有对应的下标(即索引),分别为s[0~-1],即第一个元素是0,第二个是1,倒数第一个元素是-1,倒数第二个是-2,等等
基本语法:
print(字符串名[下标数])
索引切片 顾首不顾尾
基本语法: 冒号左右两边数字默认是0
字符串名[:] #遍历字符串
字符串名[下标数1:下标数2] #从下标数1到下标数2
字符串名[下标数1:下标数2:步数] #从下标数1到(下标数2-1),步数为每次前进的位数,顾首不顾尾
4.列表
(1)定义方式:
用 [ ] 进行存储,其中以逗号隔开(可以包括任意数类型),列表中能插入另外的列表,其被当做是一个元素。
如:
hobby_list = ['da','xiao','zhong',500,['sda','600','thf'],'sdxcdef']
(2)使用方法:索引取值、索引修改值、索引切片
- 索引取值
列表中的元素,从首部开始往后,都有对应的下标(即索引),分表为hobby_list[0~-1],即第一个元素是0,第二个是1,倒数第一个元素是-1,倒数第二个是-2,等等
print(hobby_list[4]) #结果为:['sda','600','thf']
print(hobby_list[4][0]) #结果为:sda
输出单个元素时没有中括号和单引号。但当输出的结果为2或2个以上元素时,以列表形式输出
- 索引修改值
直接以赋值号进行修改
- 修改单个元素:
hobby_list[0] ='good' #输出是:hobby_list = ['good','xiao','zhong',500,['sda','600','thf'],'sdxcdef']
则原来的列表hobby_list 的第一个元素 da 就变为 good
- 修改多个元素:如下面的列表
hobby_list[:] = 0,1,2,3,4,5 # 仅作了解
- 索引切片
切片的输出方式为从几到几,但顾首不顾尾
基本语法:
列表名[:]
列表名[下标数1:下标数2] #从下标数1到下标数2
列表名[下标数1:下标数2:步数] #从下标数1到(下标数2-1),步数为每次前进的位数 顾首不顾尾
print( hobby_list[0:4]) #结果为: ['da','xiao','zhong',500] #但不包括下标为4的元素。顾首不顾尾
[:] :表示将全部输出,冒号默认前后都是0
[0:-1] 和 [:-1]:表示将除了最后一个全部输出,顾首不顾尾
(3)列表的一些内置方法,只有列表能使用
- append(加值)
print(hobby_list.append('read')) #在列表hobby_list尾部加上一个字符串 read
#结果:hobby_list = ['da','xiao','zhong',500,['sda','600','thf'],'sdxcdef','read']
-
del (按索引删除值)
del hobby_list[0]
5.字典
- 字典是以键值对 key:value 的形式组成的,描述和数据一一对应,用{}大括号括起来,内部以逗号隔开多个键值对。值可以是任意数据类型
如:
yy_info_dict = {'name': 'jinyuyang', 'height': 180 , 'weight': 150, 'hobby_list': ['jiao', 'jump_with_fengge', 'dapao']}
(1)使用方法:按key取值、del删除值
- 按key取值:
print(yy_info_dict['name']) # 按key取值 结果:jinyuyang
print(yy_info_dict['weight']) # 按key取值 150
yy_info_dict['height'] =151 # 按key修改值
print(yy_info_dict['height']) #结果 151
-
del删除值
del yy_info_dict['height']
二、词图云制作
import wordcloud import jieba from imageio import imread mk = imread('c.png')#选择外部特定的图框 t =open('2.txt','r',encoding="utf-8")#读取外部文字文件 s=t.read() t.close() s_list=jieba.lcut(s) #把字符串切割成列表 print(s_list) s = ' '.join(s_list) #把列表拼接成字符串,这里是以空格把列表拼接成字符串 print(s) w = wordcloud.WordCloud(width = 1000,height = 1000,font_path ='C:\Windows\Fonts\simsun.ttc',mask=mk,background_color='black') #上面的方法的作用是:规定了词图云的尺寸,词语分类的词库,词图框为mk,词图云背景颜色为黑 w.generate(s) w.to_file('qiyu.png')
三、jieba模块
用来分割具体的内容
把字符串按词语切割为列表
# 2. 使用jieba模块对文件内容切割
jieba.add_word('回家的诱惑') # 让"回家的诱惑"成为一个单词
jieba.del_word('女士') #删除全部 "女士" 字符串
jieba.del_word('先生')
jieba.del_word('小马')
data_list = jieba.lcut(data) #把字符串切割为列表
data = ' '.join(data_list) #用空格把列表拼接成字符串
四、wordcloud模块
用来生成词云图
w=wordcloud.WordCloud(background_color='white',mask=img,font_path=r'C:\Windows\Fonts\simsun.ttc',max_words=150)#括号内的参数内容可以任意排序
w.generate(data)
w.to_file('nihaosaoa.png')