Python標(biāo)準(zhǔn)庫(kù)中的GUI界面 --> turtle
- turtle的簡(jiǎn)單使用:導(dǎo)入turtle
- import turtle as t
import turtle as t
# 設(shè)置畫(huà)筆的大小10px,顏色blue
t.pensize(10)
t.color('blue')
# 繪制NEUSOFT
# 水平左移
# 抬筆移動(dòng),不繪制
t.penup()
# t.pu()
# 畫(huà)筆移動(dòng)到(x,y)位置(坐標(biāo))
t.goto(-260, 0)
t.pendown()
# t.pd()
# 讓gui界面一直顯示,所有執(zhí)行的代碼要寫(xiě)在此函數(shù)之前
t.done()
常用的數(shù)據(jù)類(lèi)型
1. 列表
print(hero[1])
# 添加元素 append
hero_name.append('后羿')
print('添加后的列表',hero_name)
# 修改
hero_name[1]=1000
print('修改后的列表',hero_name)
# 刪除
del hero_name[1]
print('刪除后的列表',hero_name)
#創(chuàng)建[1,2,3...10]這樣的一個(gè)數(shù)字列表
a=[]
for i in range(1,11):
a.append(i)
print(a)
- 列表的排序
sort() 函數(shù)用于對(duì)原列表進(jìn)行排序,如果指定參數(shù),則使用比較函數(shù)指定的比較函數(shù)。
li=[]
for i in range(10):
li.append(i)
print(li)
from random import shuffle
shuffle(li)
print('隨機(jī)打亂的列表',li)
#按照降序排列reverse=True
li.sort(reverse=True)
print('排序后的列表',li)
stu_info = [
{"name":'zhangsan', "age":18},
{"name":'lisi', "age":30},
{"name":'wangwu', "age":99},
{"name":'tiaqi', "age":3},
]
print('排列前',stu_info)
#自定義函數(shù)
#def 函數(shù)名(參數(shù)):
# 函數(shù)體
def soft_by_age(x):
return x['age']
#key=函數(shù)名 ---按照什么進(jìn)行排序
#根據(jù)年齡大小進(jìn)行正序排序
stu_info.sort(key=soft_by_age,reverse=True)
print('排序后',stu_info)
name_info_list = [
('張三',4500),
('李四',9900),
('王五',2000),
('趙六',5500),
]
#返回值是參數(shù)[索引]
def soft_by_grade(i):
return i[1]
2. 元組
- 關(guān)于元組需要注意的是 只有一個(gè)元素的元組需要加上,才能是元組
b = ('lisi',) #是不是元組
c = (1000,) #是不是元組
print(type(b))
print(type(c))
3. 字典
- 字典 dict java中的HashMap
- key-value 數(shù)據(jù)結(jié)構(gòu)
- 定義形式{}
info={'name':'李四','age':34,'addr':'重慶市渝北區(qū)'}
print(len(info))
print(info)
- 字典的訪(fǎng)問(wèn)
print(info['name'])
info['addr']='北京朝陽(yáng)'
print('修改后的字典',info)
info['sex']='female'
print('增加后字典',info)
print(info.keys())
print(info.values())
print(info.items())
d = [('name', '李四'), ('age', 34), ('addr', '北京市朝陽(yáng)區(qū)'), ('sex', 'female')]
d1 = dict(d)
print(d1)
for k,v in info.items():
print(k,v)
4. 集合
- 集合 set
- 無(wú)序、不重復(fù)、輸出順序不保證是輸入順序
- 集合不支持索引查找
set1={'zhangsan','lisi',222}
print(type(set1))
#遍歷
for x in set1:
print(x)
函數(shù)定義
- def 函數(shù)名(參數(shù)):
函數(shù)體
def say_hello(name):
print('hello, {}'.format(name))
say_hello('重慶師范')
文件讀取
- 本地文件讀取
- 使用open內(nèi)置函數(shù)進(jìn)行文件讀取
f= open(file='./novel/threekingdom.txt',mode='r',encoding='utf-8')
data=f.read()
f.close()
print(data)
- 使用with as上下文管理器,不用手動(dòng)關(guān)閉流
with open('./novel/threekingdom.txt',mode='r',encoding='utf-8') as f:
data=f.read()
print(data)
#寫(xiě)入文本文件
txt='i like python'
with open('python.txt',mode='w',encoding='utf-8') as f:
f.write(txt)
#寫(xiě)入H5文件
text = """<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>重慶師范歡迎你</h1>
</body>
</html>"""
print(text)
with open('chongqingshifan.html','w', encoding='utf-8') as f:
f.write(text)
分詞
- 導(dǎo)入jieba分詞:import jieba
- 三種分詞模式
- 精確模式 精確分詞
seg_list=jieba.lcut(seg)
print(seg_list)
- 全模式 找出所有可能的分詞結(jié)果 冗余性大
seg_list1=jieba.lcut(seg,cut_all=True)
print(seg_list1)
seg_list4=jieba.lcut(text,cut_all=True)
print(seg_list4)
- 搜索引擎模式 先執(zhí)行精確模式,在對(duì)其中的長(zhǎng)詞進(jìn)行處理
seg_list2=jieba.lcut_for_search(seg)
print(seg_list2)
seg_list5=jieba.lcut_for_search(text)
print(seg_list5)