学习Python的第二天

Python标准库中的GUI界面

导入turtle的语句
import turtle[图片上传失败...(image-af292c-1564406409341)]

t( as 是给turtle起一个别名,起了别名之后,后续的代码都不能再使用turtle调用函数)
下面是turtle的具体使用方法
1.设置画笔的大小为10px

t.pensize(10)

2.设置画笔的颜色为绿色

t.color('green')

3.笔触移动、抬笔和落笔

#抬笔
t.penup()
#水平及垂直方向移动,x为负数,表示向x轴负方向移动,y同理。
t.goto(x, y)
t.goto(-260, 0)
#落笔
t.pendown()

4.让GUI界面一直显示, 所有执行的代码要写在此函数之前

t.penup()
t.goto(-260, 0)
t.pd()

# 绘制 N
t.left(90)
t.forward(80)
t.right(145)
# 简写
t.fd(100)
t.lt(145)
t.fd(80)
t.right(90)
t.penup()
t.goto(-110, 80)
t.pd()

# 绘制 E
t.lt(180)
# 简写
t.fd(50)
t.lt(90)
t.fd(80)
t.lt(90)
t.fd(50)
t.penup()
t.goto(-120, 40)
t.pd()
t.lt(180)
t.fd(35)

#绘制U
t.penup()
t.goto(-80, 80)
t.pd()
t.lt(90)
t.fd(50)
t.circle(27, 180)
t.penup()
t.goto(-26, 80)
t.pd()
t.lt(180)
t.fd(50)

# 绘制 S
t.penup()
t.goto(15, 20)
t.pd()
t.circle(20, 270)
t.circle(-20, 270)

# 绘制 O
t.penup()
t.goto(90, 55)
t.pd()
t.fd(30)
t.circle(25, 180)
t.fd(30)
t.circle(25, 180)

# 绘制 F
t.penup()
t.goto(230, 80)
t.pd()
t.rt(90)
t.fd(50)
t.lt(90)
t.fd(80)
t.penup()
t.goto(180, 46)

t.pd()
t.lt(90)
t.fd(40)

# 绘制 T
t.penup()
t.goto(260, 80)
t.pd()
t.fd(50)
t.penup()
t.goto(285, 80)
t.pd()
t.rt(90)
t.fd(80)

# 让gui界面一直显示, 所有执行的代码要写在此函数之前
t.done()

二、python常用数据类型和语法
1.列表
定义

hero_name = ['鲁班七号', '安琪拉', '李白', '刘备']

常见操作
增:hero_name.append('后羿')
删:del hero_name[1]
查:print(hero_name[2])
改:hero_name[1] = 1000
排序
对数字排序
<列表名>.sort([reverse=True])

对字典型元组排序

stu_info = [
    {"name":'zhangsan', "age":18},
    {"name":'lisi', "age":30},
    {"name":'wangwu', "age":99},
    {"name":'tiaqi', "age":3},

]
print('排序前', stu_info)

# def 函数名(参数):
#     函数体
def sort_by_age(x):
    return x['age']

# key= 函数名    ---  按照什么进行排序
# 根据年龄大小进行正序排序
stu_info.sort(key=sort_by_age, reverse=True)
print('排序后', stu_info)

2.元组
定义

a = ('zhangsan', 'lisi', 'wangwu',1000)

访问

print(a[1])

修改

a[3] = 'zhaoliu'

关于元组需要注意的是 只有一个元素的元组
b = ('lisi') #不是元组
b = ('lisi',) #是元组
c = (1000) #不是元组
c = (1000,) #是元组

3.字典
定义

# info = {'name':'李四', 'age':34, 'addr':'重庆市渝北区'}

访问

print(info['name'])

修改/增加

info['addr'] = '北京市朝阳区'

方法

# 获取字典中所有的键
print(info.keys())

#  # 获取字典中所有的z值
print(info.values())

# 获取字典中所有的key-value
print(info.items())

集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:

parame = {value01,value02,...}
或者
set = {'zhangsan', 'lisi', 222}
print(type(set1))

遍历集合

for x in set:
    print(x)

列表的排序

li = []
for i in range(10):
    li.append(i)
print(li)
from random import shuffle
shuffle(li)
print('随机打乱的列表', li)
li.sort(reverse=True)
print('排序后的列表', li)

本地文件读取
python中使用open内置函数进行文件读取

f = open(file='./novel/threekingdom.txt', mode='r', encoding='utf-8')
data = f.read()
f.close()
data = open(file='./novel/threekingdom.txt', mode='r', encoding='utf-8').read()
print(data)

with as 上下文管理器 不用手动关闭流

with open('./novel/threekingdom.txt', 'r', encoding='utf-8') as f:
data = f.read()
print(data)

写入

txt = 'i like python'
with open('python.txt','w', encoding='utf-8') as f:
f.write(txt)

中文分词 jieba

安装jieba分词库
指定国内镜像安装
1.在用户目录下新建pip文件夹
2.新建pip.ini文件
添加:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

在命令行输入pip install jieba
导入jieba分词

import jieba

三种分词模式

seg = '我来到重庆,这里的夏天很热,我们都要准备好防晒伞'
#1.精确模式 精确分词
seg_list = jieba.lcut(seg)
print(seg_list)
#2.全模式
seg_list = jieba.lcut(seg, cut_all=True)
print(seg_list)
#全模式是找出所有可能分词的结果
#缺点:冗余性大
#3.搜索引擎模式
seg_list = jieba.lcut_for_search(seg)
print(seg_list)
#先执行精确模式,再对其中的长词进行处理

词云展示
pip install wordcloud
import jieba
import imageio

from wordcloud import WordCloud
import jieba
import imageio

mask = imageio.imread('./china.jpg')
with open('./novel/threekingdom.txt','r', encoding='utf-8') as f:
    words = f.read()
    # print(len(words)) # 字数  55万
    words_list = jieba.lcut(words)
    # print(len(words_list)) # 分词后的词语数  35万
    print(words_list)
    # 将words_list转化成字符串
    novel_words = " ".join(words_list)
    print(novel_words)
    # WordCloud()里面设置参数
    wc = WordCloud(
        font_path='msyh.ttc',
        background_color='white',
        width=800,
        height=600,
        mask=mask
    ).generate(novel_words)
    wc.to_file('三国词云.png')

你可能感兴趣的:(学习Python的第二天)