函数
- 必须参数和关键字参数
必须参数必须义正确的顺序传入,调用的时候必须和声明的时候保持一致
def f(name, age):
print('I am %s , I am %d years old'%(name, age))
f(18, 'eric')
关键字参数 #使用关键字参数可以允许函数调用时和声明时顺序不一致
python 解释器能够用参数名字匹配参数值
f(age=18, name='eric')
- 默认参数 缺省参数没有传入,默认值会生效
def f(name, age, sex = 'male' ):
print('I am %s , I am %d years old'%(name, age))
print('Sex : %s'%sex)
f(name='李四', age=19)
f('张三', 88, sex='female')
另外为了自己阅读方便,建议显示传参
- 匿名函数
语法 :
lambda 参数: 表达式
冒号前面是参数,可以有多个
后面的是表达式,只能是一个表达式 不写return 返回值就是表达式的结果
减少代码量, 代码看起来“优雅”
def rect(x, y):
return x * y
area = rect(3, 5)
print(area)
# 使用lambda表达式
res = lambda x, y: x*y
print(res(4,5))
def cal(x, y):
if x > y:
return x*y
else:
return x/y
calc = lambda x, y: x*y if x > y else x/y
print('使用lambda: ',calc(5,4))
print('使用lambda: ',calc(2,4))
# 排序中使用lambda
stus = [
{'name':'zhangsan', 'age': 33},
{'name':'lisi', 'age': 12},
{'name':'wangwu', 'age':53},
{'name':'zaoliu', 'age': 18},
{'name':'tianqi', 'age': 77}
]
print('排序前',stus)
# key值是按照哪个元素为依据进行排序
res = sorted(stus,key=lambda x: x['age'], reverse=True)
print('排序后',res)
res = sorted(stus,key=lambda x: x['name'])
print('name排序后',res)
- 同目录下的函数调用
- caculate.py
def caculateNum(num):
return sum([i for i in range(1, num+1)])
- test.py
import caculate
res = caculate.caculateNum(100)
print(res)
分词
安装第三方库jieba,通过调用jieba.lcut()将字符串分割成等量的中文
import jieba
with open('threekingdom.txt' ,'r', encoding='utf-8') as f:
txt = f.read()
words = jieba.lcut(txt)
print(words)
词云
安装第三方库wordcloud,通过调用WordCloud().generate()将字符串生成词云
- 在Windows下使用pip install wordcloud安装wordcloud时会提示需要 VC14.0 编译环境,由于安装该环境需要4个G所以选择手动安装。首先需要在官网下载与自己pychar版本相对应的wordcloud,然后用cmd进入下载目录,输入pip install xxx.whl。这时wordcloud被安装在python\Lib\site-packages目录下,使用时需要手动将wordcloud文件夹复制到当前project的venv\Lib\site-packages目录下
最后在Terminal下使用pip list查看
from collections import Counter
from wordcloud import WordCloud
str = ['阿萨德','肥嘟嘟','对方','打发','安抚艾克','奥斯卡级','氨基酸']
cloud_txt = ",".join(str)
wc = WordCloud(
background_color='white',
font_path='SIMYOU.TTF',
# 是否包含两个词的搭配默认是True
collocations=False
).generate(cloud_txt)
wc.to_file('词云1.png')
在使用wordcloud生成词云过程中,出现了OSError: cannot open resource错误,原因是字体属性font_path的设置与系统提供的字体不一致,系统提供的是ttf格式,所以应设置为ttf,而不能写为ttc.
字体文件存放在 C:\Windows\Fonts目录下,可将对应的字体文件拷贝出来查看类型,将font_path设置为系统提供的字体即可。
作者:归去_来兮
来源:CSDN
原文:https://blog.csdn.net/albert201605/article/details/84917308
版权声明:本文为博主原创文章,转载请附上博文链接!