Python入门--内置模块

python内置模块

什么是模块?
模块(module),它特指就是xxx.py文件
如何导入模块?
import 模块名 [ as 别名 ]

import random
import sys,math
import hashlib as hash, os.path as osp
#使用时要带上模块名
random.random()

from 模块名 import 成员名 [ as 别名 ]

from functools import partial [ as fun ]
#使用时不用带模块名

from 模块名 import *

from math import *

python内置的常见模块
random、math、os、os.path、sys、 time、datetime、hashlib、base64、hmac uuid

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。

random

	目前所有的计算机API实现的随机都是伪随机数
	|-- random.random()		# 返回一个[0, 1)的随机数
	|-- random.randint(n, m)	# 返回[n, m]范围内的随机整数
	|-- random.randrange(n, m)	# 返回[n, m)范围内的随机整数
	|-- random.choice(sequence)	# 从一个序列中随机返回一个元素
	|-- random.uniform(n, m)	# 返回[n, m]范围内的随机数
	|-- random.shuffle(列表)	# 随机洗牌列表中的元素顺序 

math

	进行数学计算
	|-- math.ceil(num)		# 向上取整
	|-- math.floor(num)		# 向下取整
	|-- math.abfs(num)		# 求绝对值
	|-- math.modf(num)		# 以元组的形式返回整数和小数部分
	|-- math.pi			# 圆周率
	|-- math.pow(num, num2)		# 幂次方 num**num2
	|-- math.sqrt(num)		# 开平方根

os

	主要管理操作系统文件管理系统

	|-- chdir(path)			# 修改当前工作空间路径的
	|-- curdir			# 当前工作空间的路径
	|-- os.getcwd()			# 获取路径的绝对路径
	|-- os.path.abspath(path)	# 获取路径的绝对路径
	|-- os.cpu_count()		# 获取当前电脑的CPU架构
	|-- os.device_encoding(fd)	# 获取设备的编码
	|-- os.getpid()			# 获取进程编号
	|-- os.getppid()		# 获取当前进程的父进程编号
	|-- os.kill()			# 通过编号杀死进程
	|-- os.listdir(path)		# 遍历path路径下的所有文件和文件夹,以列表形式返回名称
	|-- os.mkdir()			# 创建一个单层文件夹(目录)
	|-- os.makedirs()		# 创建多次目录
	|-- os.name			# 获取操作系统名称
	|-- os.rename()			# 重命名
	|-- os.remove()			# 移除文件
	|-- os.removedirs()		# 移除多层目录
	|-- os.rmdir()			# 删除目录
	|-- os.sep			# 当前系统对应的文件分隔符

builtins

		这个默认加载内置模块、全局函数、常见异常类

functools

		这个模块主要提供跟函数相关的操作
		partial()、reduce()

os.path

推荐使用 from os import path 导入方式

|-- os.path.abspath(path)		# 获取path的绝对路径
|-- os.path.altsep			# 路径的分割符
|-- os.path.basename(path)		# 获取路径对应的文件名称
|-- os.path.dirname(path)		# 获取文件所在目录
|-- os.path.exists(path)		# 判断文件是否存在
|-- os.path.getatime(path)		# 获取文件最后的访问时间
|-- os.path.getctime(path)		# 获取文件的创建时间
|-- os.path.getmtime(path)		# 获取文件的修改时间 
|-- os.path.getsize(path)		# 获取文件大小,单位是B(字节)
|-- os.path.isdir(path)			# 判断path是不是目录
|-- os.path.isfile(path)		# 判断路径是不是一个文件
|-- os.path.isabs(path)			# 判断路径是不是一个绝对路径
|-- os.path.islink(path)		# 判断路径是不是一个链接(软连接、硬链接)
|-- os.path.ismount(path)		# 判断路径是不是一个挂载文件(U盘、光驱等)
|-- os.path.join(path1, path2)		# 完成路径的拼接,会自动根据系统生成分隔符
|-- os.path.split(path)			# 分隔文件路径

sys

 |-- sys.argv				# 获取脚本名称和参数
 |-- sys.exit()				# 退出系统
 |-- sys.getdefaultencoding()		# 获取默认编码
 |-- sys.getfilesystemencoding()	# 获取默认文件系统编码
 |-- sys.getrecursionlimit()		# 获取递归的限制层数
 |-- sys.setrecursionlimit()		# 设置递归的限制层数
 |-- getrefcount()			# 对象的引用计数次数

time

|-- time.asctime()		# 返回当前时间,格式是西欧格式
|-- time.ctime()		# 返回当前时间,格式是西欧格式	
|-- time.gmtime()		# 返回当前时间,时间对象,注意:时区是伦敦时区
|-- time.localtime()		# 返回当前时间,时间对象,注意:时区是当前时区
|-- time.sleep(seconds)		# 让当前线程停止运行
|-- time.time()			# 获取当前时间戳
|-- time.struct_time(元组)	# 构造一个对应的时间对象
|-- time.strftime()		# 将一个时间对象格式化为特定的字符串输出
|-- time.strptime()		# 将特别的字符串时间转换为时间对象

datetime

import datetime
|-- datetime.datetime.now()		# 获取当前时间对象
|-- datetime.date(year, month, day)	# 构造一个日期对象
|-- datetie.time(hour, min, seconds)	# 获取时间对象
|-- str(datetime对象)			# 格式化datetime对象为字符串

calendar

日历模块

hashlib

加密算法相关的模块
加密算法:
	|-- 通过是否可逆
		|-- 可逆加密
			|-- 加密和解密是否使用同一个秘钥
				|-- 对称加密	DES
					使用同一秘钥加密和解密
				|-- 非对称加密	RSA 
					使用一对公私钥对
		|-- 不可逆加密(散列加密、hash加密、哈希加密)
			md3、md4、md5
			sha1、sha256、sha384 ...
		
			二进制的128位数组  ==> 32位字符串

			使用场景:密码加密、文件校验

md5 = hashlib.md5(password.encode(“utf-8”)) # 使用md5加密,密码格式为’utf-8’
md5.update(salt.encode(“utf-8”)) # 在密码末尾加上盐值再加密
md5.hexdigest() # 将密码转换成可读字符串

uuid

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。

>>> import uuid
>>> dir(uuid)
['Enum', 'NAMESPACE_DNS', 'NAMESPACE_OID', 'NAMESPACE_URL', 'NAMESPACE_X500', 'RESERVED_FUTURE', 'RESERVED_MICROSOFT', 'RESERVED_NCS', 'RFC_4122', 'SafeUUID', 'UUID', '_AIX', '_DARWIN', '_GETTERS', '_LINUX', '_OS_GETTERS', '_UuidCreate', '_WINDOWS', '__author__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_arp_getnode', '_find_mac', '_generate_time_safe', '_has_uuid_generate_time_safe', '_ifconfig_getnode', '_ip_getnode', '_ipconfig_getnode', '_is_universal', '_lanscan_getnode', '_last_timestamp', '_load_system_functions', '_netbios_getnode', '_netstat_getnode', '_node', '_popen', '_random_getnode', '_unix_getnode', '_uuid', '_windll_getnode', 'bytes_', 'getnode', 'int_', 'os', 'platform', 'sys', 'uuid1', 'uuid3', 'uuid4', 'uuid5']
>>>

s = uuid.uuid4(字符串)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值