Python学习第二天

一、turtle的简单使用(Python标准库中的GUI界面)
1、导入turtle库
import turtle as t #as t为别名

2、对画笔的操作

设置画笔大小 10px,颜色

t.pensize(10)
t.color('pink')

抬笔(为了不留下移动痕迹)

t.penup()

水平左移goto(x,y)

t.goto(-260,0)

放笔

t.pd()

向前画

t.forward(80)

绘制圆圈(半径,角度),角度默认360

t.circle(40)

简写

t.fd(100)
t.lt(145)
t.fd(80)

二、常用数据类型
1、列表
优点:灵活 ,缺点: 效率低

列表的声明 列表名=[]

number=['yi','er','san','si']

遍历列表

for num in number:
print(num)

列表的访问 列表名[索引]

print(number[2])

添加元素 append

number.append('wu')
print('添加后的列表',number)

修改列表

number[1]='liu'
print('修改后的列表',number)

删除元素

del number[1]
print('删除后的列表',number)

1.2、列表的排序
from random import shuffle
li = []
for i in range(10):
li.append(i)
print(li)

打乱列表

shuffle(li)
print('随机打乱的列表', li)

排序(reverse=True反向排序)

li.sort(reverse=True)
print('排序后的列表', li)

stu_info = [
{"name":'zs', "age":18},
{"name":'ls', "age":32},
{"name":'ww', "age":9},
{"name":'ti', "age":3},

]
print('排序前', stu_info)

def 函数名(参数):

函数体

def sort_by_age(x):
return x['age']

根据年龄大小进行正序排序

stu_info.sort(key=sort_by_age, reverse=True)
print('排序后', stu_info)

根据后面的数字排序

name_info_list = [
('张三',4500),
('李四',9900),
('王五',2000),
('赵六',5500),
]

def sort_by_value(x):
return x[1]

根据元组第二个元素进行正序排序

name_info_list.sort(key=sort_by_value)
print('排序后', name_info_list)

2、字符串
定义形式 '' ""
2.1、 切片 对序列截取一部分的操作,适用于列表
name = 'abcdefg'

[起始位置:终止位置:步长] 左闭右开

cd

print(name[2:4])

a c e g

print(name[0:7:2])

全切片的时候可以省略初始和终止位置

print(name[::2])

2.2、去两端空格 strip()
name = ' abcdefg '

查看序列内元素的个数 len()

print(len(name))
name = name.strip()
print('去空格之后', len(name))

2.3、替换 replace

price = '999'

price = price.replace('9','1')

print(price)

2.4、列表变成字符串的方法 join

输出a_b_c_d

li = ['a', 'b', 'c', 'd']
a = '_'.join(li)
print(a)
print(type(a))

3、元组
元组 tuple 元组和列表很像只不过元组不可以修改
3.1、定义 ()
a = ('zs', 'ls', 'ww',1000)
print(a)
print(type(a))

3.2、访问

访问

print(a[1])

3.3、修改
a[3] = 'zl'

3.4、注意

#关于元组需要注意的是 只有一个元素的元组

b = ('lisi',) #是元组
c = (1000,) #是元组

4、字典 dict
key-value数据结构
4.1、定义形式 {}
info = {'name':'李四', 'age':34, 'addr':'重庆'}
print(len(info))
print(info)

4.2、字典的访问
print(info['name'])

4.3、修改
info['addr'] = '北京'
print('修改后字典',info)

4.4、增加
info['sex'] = 'female'
print('增加后字典',info)

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

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

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

4.8、 遍历字典
for k, v in info.items():
print(k, v)

5、 集合
无序,不重复
set1 = {'zs', 'ls', 222}

5.1、 遍历
for x in set1:
print(x)

6、本地文件的读写
6.1、读取本地文件

java读取本地文件

f=open(file='./threekingdom.txt',mode='r',encoding='utf-8')

data=f.read()

#需要关闭

f.close()

print(data)

with as 上下文管理器 不需要关闭

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

6.2写入
txt = 'python'
with open('python.txt','w', encoding='utf-8') as f:
f.write(txt)

7、jieba分词库
7.1、安装
pycharm设置 project:项目名 中的project interpreter中搜索jieba点击安装
7.2、三种分词模式

导入jieba分词

import jieba

seg = "我想养只小猫咪"

精确模式 精确分词

输出:['我想养', '只', '小猫咪']

seg_list = jieba.lcut(seg)
print(seg_list)

全模式 找出所有可能的分词结果 冗余性大

输出:['我', '想', '养', '只', '小猫', '小猫咪', '猫咪']

seg_list1 = jieba.lcut(seg,cut_all=True)
print(seg_list1)

搜索引擎模式

输出:['我想养', '只', '小猫', '猫咪', '小猫咪']

seg_list2 = jieba.lcut_for_search(seg)
print(seg_list2)

8、绘制词云
8.1、wordcloud库

绘制词云1——英文

text是想变成词云的内容

from wordcloud import WordCloud
text = 'xxx'
wc = WordCloud().generate(text)
wc.to_file('name.png')

8.2、制定图片形状的词云还需用到imageio库(中文词云)
from wordcloud import WordCloud
import jieba
import imageio

指定图片

mask = imageio.imread('./china.jpg')

with open('./threekingdom.txt','r', encoding='utf-8') as f:
sanguo = f.read()
# 先分词
sanguo_list = jieba.lcut(sanguo)
print(sanguo_list)

# 将words_list转化成字符串
words = " ".join(sanguo_list)
print(words)

# WordCloud()里面设置参数
wc = WordCloud(
    font_path='msyh.ttc',#字体
    background_color='white',
    width=800,
    height=600,
    mask=mask
).generate(words)
wc.to_file('三国词云.png')
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容

  • 绘制Neusoft python常用数据类型 1.列表 列表的常见操作: -列表的访问列表名[索引]print(h...
    小頴子阅读 357评论 0 0
  • 3.1 基本字符串操作 【代码】 #所有标准的序列操作(索引、分片、乘法、判断成员资格、 # 求长度、取最小值和最...
    mydre阅读 313评论 0 0
  • 一、Python标准库中的GUI界面--turtle 1.turtle 的简单使用 绘制NEUSOFT①导入tur...
    梅若吖阅读 285评论 0 0
  • 一、python turtle库绘图 import turtle 引入turtle库pensize() 画笔大小c...
    回忆悲哀烦恼阅读 751评论 0 0
  • 《抱朴子》是东晋医药学家、道教先贤葛洪所著。葛洪,字稚川,号抱朴子。抱朴,是道教术语,见于《道德经》“见素抱朴...
    知创快讯阅读 992评论 0 5