Python_review

典型错解:函数返回值

1
2
3
4
dict1={"a":"1","b":"2","c":"3"}
dict2={"a":'5646',"d":'894',"z":'999'}
dict1=dict1.update(dict2)
print(dict1)

dict1会被更新为dict1dict2的合并结果,并且没有返回值

也就是说,dict1被原地修改了。而在dict1=dict1.update(dict2)中,**dict1.update(dict2)先执行,然后返回None**,再将None赋值给dict1,因此dict1的值会变成None,也就是说,dict1被重新赋予了一个新的值(即 None)。

结巴库的使用

1
2
3
4
5
import jieba
s = "中国特色社会主义进入新时代,我国社会主要矛盾已经转化为人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾。"
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))

Turtle绘图

最最最基础

1
2
3
4
import turtle
turtle.forward(100)#简化写成turtle.fd(100)
turtle.done()#保留页面窗口

1
2
3
turtle.goto(x,y)#起始位置为(0,0)
turtle.circle(40,90)#表示逆时针画圆形,移动90度
turtle.setheading(90)#简化写成turtle.seth(90)

统计列表元素数量

1
2
3
4
5
6
7
8
9
10
11
ls = ["综合", "理工", "综合", "综合", "综合", "综合", "综合", "综合", "综合", "综合",\
"师范", "理工", "综合", "理工", "综合", "综合", "综合", "综合", "综合","理工",\
"理工", "理工", "理工", "师范", "综合", "农林", "理工", "综合", "理工", "理工", \
"理工", "综合", "理工", "综合", "综合", "理工", "农林", "民族", "军事"]
d={}


for word in ls:
d[word]=d.get(word,0)+1
for key in d:
print("{}:{}".format(key,d[key]))

d.get(word, 0)表示获取字典d中键word对应的值,如果该键不存在,返回默认值 0;然后+1` 表示将获取到的值加1;

文件操作

1
2
3
4
>#写入/创建一个新文件
>file = open('file.txt', 'w') # 打开file.txt文件进行写入('w'表示写入,如果文件不存在则创建文件)
>file.write('Hello, World!') # 将字符串写入文件
>file.close() # 关闭文件

需要注意的是每次read之后会将起点留在阅读到的位置需要重置起点

1
2
3
4
5
6
7
8
9
10
11
12
13
#读取一个文件
file = open('file.txt', 'r',encoding='utf-8') # 打开file.txt文件进行写入('w'表示写入,如果文件不存在则创建文件)
content=file.read()#获取所有内容为一个字符串
print(content)

#统计其中某个字符的数量
num=content.count("中国")
print(num)

#重置read遍历的起点
file.seek(0)
lines=file.readlines()#读取每行内容为一个列表元素
print(lines[2])#打印固定的元素