Python 常用库函数

random库是Python的标准库,用于产生各种分布的伪随机数序列。 它采用梅森旋转算法生成伪随机数序列。 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间 3. random.randint(a,b): 返回随机生成的[a,b]之间的整数 4. random.randrange(a, b, step=c): 在指定范围内,在指定的基数和

random 库

random库是Python的标准库,用于产生各种分布的伪随机数序列。 它采用梅森旋转算法生成伪随机数序列。

常用随机函数总结

  1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间
  2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间
  3. random.randint(a,b): 返回随机生成的[a,b]之间的整数
  4. random.randrange(a, b, step=c): 在指定范围内,在指定的基数和步长值形成的集合中获取1个随机数值
  5. random.choice(x): 从指定的序列x中随机获取一个数据
  6. random.seed(): 设定随机种子
  7. random.sample(k): 从总体序列或集合中随机选取k个唯一的元素
  8. random.shuffle(x): 将一个列表x中的元素打乱,随机排序(俗称:洗牌)
  9. np.random.rand(d0, d1, …, dn): 返回一个或一组浮点数,范围在[0, 1)之间
  10. np.random.normal(loc=a, scale=b, size=()): 返回满足条件为均值=a, 标准差=b的正态分布(高斯分布)的概率密度随机数
  11. np.random.randn(d0, d1, … dn): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数
  12. np.random.standard_normal(size=()): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数
  13. np.random.randint(a, b, size=(), dtype=int): 返回在范围在[a, b)中的随机整数(含有重复值)

time 库

time库中 ctime() 函数生成一个时间的字符串 perf_counter() 函数一般用于计时 sleep() 函数用于暂停程序执行 strftime()strptime() 都是用于显示时间 time.time() 返回的是当前时间的时间戳,是一个浮点数,以秒为单位

turtle 库

turtle.fd(distance): 向当前画笔方向移动distance距离,当值为负数时,表示向相反方向前进; turtle.left(angle): 向左旋转angle角度; turtle.seth(to_angle): 设置当前前进方向为to_angle,该角度是绝对方向角度;

shape()函数用于设置绘图箭头的形状 getscreen()函数返回一个 urtleScreen类的绘图对象,并开启绘画 setup()函数打开一个自定义大小和位置的画布

home(): 设置当前画笔位置为原点,朝向

penup()函数指提起画笔 clear()函数清空当前窗口,但不改变画笔的位置 done()函数是让画面停顿,但不立即关掉窗口

jieba 库

分词模式

  • 全模式
  • 精确模式
  • 搜索引擎模式

cut()、lcut()

cut(sentence, cut_all=False, HMM=True, use_paddle=False)

参数解析: sentence:要分割的str(unicode) cut_all:模型类型。True 表示全模式,False 表示精准模式。其默认为精准模式 HMM:是否使用隐马尔可夫模型

函数功能: The main function that segments an entire sentence that contains Chinese characters into separated words. 将包含汉字的整个句子分割成单独的单词的主要功能。

import jieba
sentence = 'python是世界上最好的编程语言'
ls = jieba.cut(sentence, cut_all=False)
print(ls)
# <generator object Tokenizer.cut at 0x000001966B14EA98>
print(type(ls))
# <class 'generator'>
print(type(ls))
# <class 'generator'>

从type的输出结果上来看,其是迭代器类型 可以用以下三种方式显示结果 ① ’ ’.join()

# ①''.join
ls_1 = ' '.join(ls)
print(ls_1)
# python 是 世界 上 最好 的 编程 编程语言 语言

② for 循环遍历

# ②for循环遍历
for i in ls:
    print(i)
'''
python

世界

最好

编程语言
'''

③ 列表推导式

# ③列表推导式
ls_2 = [i for i in ls]
print(ls_2)
# ['python', '是', '世界', '上', '最好', '的', '编程语言']

lcut(sentence,cut_all=False)

def lcut(self, *args, **kwargs):
	return list(self.cut(*args, **kwargs))

查看jieba模块,其定义lcut()函数如上,可以发现lcut()函数最终返回的是list(cut())

import jieba
sentence = 'python是世界上最好的编程语言'
ls = jieba.cut(sentence, cut_all=False)
print(ls)
print(list(ls))
ls1 = jieba.lcut(sentence, cut_all=True)
print(ls1)
ls2 = jieba.lcut(sentence)
print(ls2)

结果如下 Lcut(sentence,cut All=False) 注意cut_all=False是精准模式,也是其默认的类型。

cut_for_search(sentence, HMM=True)和lcut_for_search(sentence, HMM=True)和上面所讲的类似。 其都是对搜索引擎进行更精细的细分,即采用搜索引擎模式。

import jieba
sentence = 'python是世界上最好的编程语言'
ls3 = jieba.cut_for_search(sentence)
print(ls3)
# <generator object Tokenizer.cut_for_search at 0x00000199C7A3D9A8>
print(list(ls3))
# ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言']
ls4 = jieba.lcut_for_search(sentence)
print(ls4)
# ['python', '是', '世界', '上', '最好', '的', '编程', '语言', '编程语言']

add_word(self, word, freq=None, tag=None)

EXPLAIN

Add a word to dictionary.
freq and tag can be omitted, freq defaults to be a calculated value that ensures the word can be cut out.

函数功能:在字典中添加一个单词。 参数解析:freq 和 tag 可以省略,freq 默认是一个计算值,保证单词可以被切掉。

import jieba
sentence = 'python是世界上最好的编程语言'
ls2 = jieba.lcut(sentence)
print(ls2)
ls5 = jieba.add_word('最好的')
ls6 = jieba.lcut(sentence)
print(ls6)

Add Word 结果如上,最终最好的就没有被切掉

del_word(word)

函数功能:分词词典中删除词word

import jieba
sentence = 'python是世界上最好的编程语言'
ls2 = jieba.lcut(sentence)
print(ls2)
ls7 = jieba.del_word('世界')
ls8 = jieba.lcut(sentence)
print(ls8)

Del Word

eval()

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

字符串表达式可以包含变量、函数调用、运算符和其他 Python 语法元素。

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

参数

  • expression – 表达式。
  • globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

eval() 函数将字符串 expression 解析为 Python 表达式,并在指定的命名空间中执行它。

返回值

eval() 函数将字符串转换为相应的对象,并返回表达式的结果。