Python学习笔记--模块

Python学习笔记

77-模块

python 复制代码
# 模块: 一个python文件就可以简单地理解为是一个模块,但不是所有的python文件都可以作为模块使用
# python文件作为模块使用必须遵循命名规则.
'''
模块的分类:
1.内置模块:安装完python环境之后,可以直接使用的模块:比如os,time,datetime,random等等
2.白定义模块: 项目中根据具体需求,封装提炼的模块.
3.第三方模块:别人写好的具有某些特殊功能的模块,
    a.在使用第三方模块的时候,需要先安装(numpy pandas matplotlib等等)
    b.先导入才能使用
'''
# 模块常用的导入方式
# 1. import 模块名
import os
print(os.getcwd()) # 获取当前工作目录

# 第二种:from 模块名 import 模块中的方法或属性等等
from os import getcwd
print(getcwd()) # 获取当前工作目录

# 第三种:import 模块名 as 别名
import os as o
print(o.getcwd()) # 获取当前工作目录

78-math模块

python 复制代码
# 导入math模块
import math

# 向上取整,math.ceil()
num = 5.6
print(math.ceil(num)) # 6
print(math.ceil(5.6)) # 6

# 向下取整,math.floor()
num = 5.6
print(math.floor(num)) # 5
print(math.floor(5.6)) # 5

# 开平方,math.sqrt()
num = 9
print(math.sqrt(num)) # 3.0
print(math.sqrt(9)) # 3.0

# 分別获取浮点数整数和小数的部分,得到的结果是一个元组,math.modf()
num = 5.6
print(math.modf(num)) # (0.6, 5.0)
print(math.modf(5.6)) # (0.6, 5.0)

79-random模块

python 复制代码
# 导入random模块
import random

# 1.从指定列表中随机获取一个元素,random.choice()
list_1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(random.choice(list_1)) # 

# 2.生成指定范围内的随机数 random.randrange(start,end,step)
'''
start表示开始值,默认是0,生成的范围包含该值
end表示结束值,生成的范围不包含该值
step表示步长,默认值是1
'''
list_2 = random.randrange(10,20,1) # 生成10到19的随机数
print(list_2)

# 3.生成指定范围内的随机整数,random.randint(start,end)
list_3 = random.randint(10,20)
print(list_3)

# 4.随机生成0-1之间的任意数字,random.random()
list_4 = random.random()
print(list_4) # 0.0-1.0之间的随机小数

# 5.将列表中的元素随机排序,random.shuffle()
list_5 = [1,2,3,4,5,6,7,8,9,10]
random.shuffle(list_5)
print(list_5) # 打乱顺序

# 6.生成指定范围内的实数。结果是浮点数random.uniform()
list_6 = random.uniform(1,10)
print(list_6) # 1.0-10.0之间的随机小数

80-time模块

python 复制代码
# time模块主要用来操作时间,还可以用于控制程序

import time

# 获取从1970年1月1日0时0分0秒距今的秒数
print(time.time())  # 

# 2.格式化显示时间
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

# 3.将程序暂定指定时间后,再执行后面的程序,单位是秒
print("程序暂停5秒")
time.sleep(5)
print("程序继续执行")

81-datetime模块

python 复制代码
# datetime模块主要用来显示和设置日期时间
import datetime

# 1 .now(),获取当前的日期对象
now = datetime.datetime.now()
print(now) 

# 2.datetime.datetime()设置日期对象
dt = datetime.datetime(2020, 1, 1)
print(dt) # 2020-01-01 00:00:00
dtt = datetime.datetime(year= 2020, month= 1, day= 1, hour= 1, minute= 1, second= 1)
print(dtt) # 2020-01-01 01:01:01

# 3.查看年月日 时分秒
print(dtt.year, dtt.month, dtt.day, dtt.hour, dtt.minute, dtt.second) # 2020 1 1 1 1 1

# 4.strftime(),将datetime类型转换为字符串
print(type(dtt)) # <class 'datetime.datetime'>
print(dtt.strftime("%Y-%m-%d %H:%M:%S")) # 2020-01-01 01:01:01
print(type(dtt.strftime("%Y-%m-%d %H:%M:%S"))) # <class 'str'>
print(dtt.strftime("%Y{}%m{}%d{}").format("年","月","日")) # 2020年01月01日

# 5.计算时间差值
dt1 = datetime.datetime(2020,1,1,1,1,1)
dt2 = datetime.datetime(2020,1,1,1,1,2)
print(dt2-dt1) # 0:00:01
dt3 = datetime.datetime(2020,1,1)
dt4 = datetime.datetime(2020,1,2)
print(dt4-dt3) # 1 day, 0:00:00

82-os模块

python 复制代码
# os模块主要是用来完成对文件或者文件夹的操作
import os

# 1.listdir(),查看指定日录下面所有的文件或者文件夹
# print(os.listdir('.'))  # 获取当前目录下所有的文件
# print(os.listdir('..')) # 获取上级目录下所有的文件
# print(os.listdir('C:/')) # 获取指定目录下所有的文件
# print(os.listdir('C:/Users/IES/Desktop/')) # 获取指定目录下所有的文件
# print(os.listdir(r'C:\2024 code')) # 获取指定目录下所有的文件,r 表示字符串不转义

# 2.curdir(),获取当前日录
# print('表示当前目录',os.curdir) # . 表示当前目录

# 3.getcwd()获取当前路径
# print('获取当前路径',os.getcwd()) # 获取当前路径

# 4.mkdir()创建文件夹,不能创建已经存在的文件夹
# os.mkdir('test') # 创建文件夹, 不能创建已经存在的文件夹
# os.mkdir(r'C:\2024 code\2024_Python\Python_qinafeng_128\test_1') # 创建文件夹, 不能创建已经存在的文件夹

# 5.makedirs()递归式创建文件夹
# os.makedirs(r'C:\2024 code\2024_Python\Python_qinafeng_128\test_2\test_3') # 递归式创建文件夹

# 6.rmdir(),只能删除空文件夹
# os.rmdir('test') # 删除空文件夹
# os.rmdir(r'C:\2024 code\2024_Python\Python_qinafeng_128\test_1') # 删除空文件夹

# 7.rename()修改文件名
# os.rename('test.txt', 'test_0.txt') # 修改文件名
# os.rename(r'C:\2024 code\2024_Python\Python_qinafeng_128\test_0.txt', r'C:\2024 code\2024_Python\Python_qinafeng_128\test_1.txt')

# 8.remove()删除文件
# os.remove('test_1.txt')

# 9.os.path.join()   拼接路径
# print(os.path.join('', ''))

# 10.os.path.split() 分割路径
# print(os.path.split(''))

# 11.os.path.getsize() 获取文件大小
# print(os.path.getsize('82-os模块.py')) # 字节
# print(os.path.getsize(r'C:\2024 code\2024_Python\Python_qinafeng_128\82-os模块.py') / 1024)

# 12.os.path.exists() 判断文件是否存在
print(os.path.exists('82-os模块.py')) # True

# 13.os.path.isfile() 判断是否是文件
print(os.path.isfile('82-os模块.py')) # True

# 14.os.path.isdir() 判断是否是文件夹
print(os.path.isdir('82-os模块.py')) # False

# 15.os.path.abspath() 获取绝对路径
print(os.path.abspath('82-os模块.py')) 

# 16.os.path.basename() 获取文件名
print(os.path.basename('82-os模块.py')) # 82-os模块.py

83-自定义模块

python 复制代码
# 自定义模块一般是在项日中根据自己的需求进行的封装。

# 1.导入自定义模块,module.py
import module

# 访问自定义模块中的变量,函数等
print(module.name)
print(module.age)
print(module.weight)
print(module.height)
# print(module.name, module.age, module.weight, module.height)
module.test_1()
module.test_2()
module.test_3()
# print(module.test_1(), module.test_2(), module.test_3())

# 2.通过from ... import ...导入自定义模块中的变量,函数等
from module import *  # *表示通配符,引入所有内容

print('from ... import ...', name)
print('from ... import ...', age)
print('from ... import ...', weight)
print('from ... import ...', height)
test_1()
test_2()
test_3()

# 3.通过from 模块名 import 模块中的变量,函数等(精确导入)
from module import name, age, test_1

print('from module import name', name)
print('from module import age', age)
test_1()

84-第三方模块

python 复制代码
'''
注意:
1.第三方模块需要先安装,才能使用
2.常见的发装力式:通过pip下具 或者通过 pycharm编辑器进行安装
'''
# 1.pip 安装第三方模块
'''
pip -V # 查看pip版本
pip list # 查看已安装的模块
Python.exe -m pip install --upgrade pip # 更新pip
pip install 模块名==版本号 # 安装指定版本的模块
pip install 模块名 # 安装模块
pip uninstall 模块名 # 卸载模块
pip install 模块名 -i https://mirrors.aliyun.com/pypi/simple/  # 安装指定镜像源
pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/ # 设置永久镜像源
'''

# pip 安装模块 numpy pandas matplotlib requests
'''
pycharm编辑器进行安装

本地安装,win+R,cmd 打开命令行
'''
相关推荐
重生之我在20年代敲代码几秒前
HTML讲解(二)head部分
前端·笔记·html·web app
学步_技术几秒前
Python编码系列—Python工厂方法模式:构建灵活对象的秘诀
开发语言·python·工厂方法模式
天下无贼!7 分钟前
2024年最新版TypeScript学习笔记——泛型、接口、枚举、自定义类型等知识点
前端·javascript·vue.js·笔记·学习·typescript·html
秋秋秋叶13 分钟前
Python学习——【2.3】for循环
python·学习
Deryck_德瑞克18 分钟前
Java集合笔记
java·开发语言·笔记
会发paper的学渣29 分钟前
python 单例模式实现
开发语言·python·单例模式
学步_技术36 分钟前
Python编码系列—Python桥接模式:连接抽象与实现的桥梁
开发语言·python·桥接模式
柴华松39 分钟前
GPU训练代码
开发语言·python
Echo_Lee01 小时前
C#与Python脚本使用共享内存通信
开发语言·python·c#