前言:
感觉全是机器人给我点赞和收藏(QWQ),能不能来个活人评论我啊,行行好(QAQ)
目录
1 模块的导入
库、包、模块的关系
-
模块:就是一个
.py
的文件 -
包:就是包含了模块,还有一个名叫
__init__.py
的文件才叫包,否则就是文件夹,__init__.py
可以是空文件也可以有代码。包里可以有包也可以有模块,可以多级结构混杂。 -
库:具有相关功能的包和模块的合集。(
web
自动化用的是selenium
第三方库,接口自动化用的是requests
第三方库) -
一个模块只会被导入一次,不管你执行了多少次
import
。 -
导入方式:
-
import
模块 :import
后面一般能跟模块,在调用其函数/类/变量的时候,用模块名.函数/类/变量的形式 (比如,import random,random.函数、类、变量) -
import...as...
:导入并重命名 -
from...import...
:from
后面可以跟包名,也可以跟“包名.模块名”,import
后面跟模块名或者类名,推荐使用该方式导入 -
from...import...as
在模块名或者包名过长时,为了后面的程序编写,可以给其取别名
-
2 随机模块-random
random
模块,用于生成伪随机数,之所以称之为伪随机数,是因为真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。
常用的方法:
举例:
# 打印随机数字,猜数字游戏
import random
num = random.randrange(1,100) #随机一个1到100的正整数
print(num)
shuru = int(input("输入一个数字:"))
if shuru == num:
print("猜对了!")
else:
print("猜错了!")
# ===randint=====================
print(random.randint(1,100))
# ===choice======================
list_1 = [1,2,3,4,5,6,7,8]
print(random.choice(list_1))
# ===choices======================
list1 = [1,2,3,4,5]
list_weights = [0,0,0,1,0]
list_cum_weights = [1,1,1,1,1]
print(random.choices(population=list1, cum_weights=list_cum_weights,k=5))
"""
cum_weights=[1, 1, 1, 1, 1]
• 等价于 weights=[1, 0, 0, 0, 0]
• [1,1+0,1+0+0,1+0+0+0,1+0+0+0+0]
• 看懂了没,太反人类了。。
cum_weights=[1, 4, 4, 4, 4]
• 等价于 weights=[1, 3, 0, 0, 0]
• [1,1+3,1+3+0,1+3+0+0,1+3+0+0+0]
"""
print(random.sample([1, 2, 3, 4, 5], 3))
3 字符串模块-string
这是一个内置模块,我们必须在使用任何常量和类之前将其导入
常用的方法:
举例:
# 随机模块和字符串模块结合使用
import random
import string
# 随机取六位字母,判断输入和随机的是否相等
letter1 = random.sample(string.ascii_letters,6)
str1 = "".join(letter1)
print(str1)
str2 = input("请输入六位字母:")
if str2 == str1:
print("输入正确")
else:
print("输入错误")
4 os
模块及其常用函数
os
模块提供了多数操作系统的功能接口函数。当os
模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python
编程时,经常和文件、目录打交道,这时就需要使用os
模块。
print(os.getenv("PATH"))
#判断C盘下是否存在一个名叫Python的文件夹?
os.path.isdir() #
os.path.isfile() #判断文件是否存在
os.path.exists() #既可以判断文件也可以判断文件夹
os.lisdir(路径) #获取盘下所有文件和目录名称
os.name #打印环境的操作系统
os.getpid() #打印运行id
os.getcwd() #求当前文件的路径
os.path.join() #路径拼接
def get_file(path, dir_list=[]):
"""
获取所有的文件
:param path:路径
:param dir_list:存放路径下所有的文件
:return:列表
"""
files = os.listdir(path)
for file in files:
file_path = os.path.join(path, file)
# 判断路径是否为文件,如果为文件,将文件追加到列表中
if os.path.isfile(file_path):
dir_list.append(file_path)
# 判断路径是否为目录,如果为目录,调用函数本身,将目录中的文件取出
else:
get_file(file_path, dir_list)
return dir_list