python 内置模块详解
作者:沐小熊 发布时间:2023-09-08 00:55:55
一.random模块 随机
random() 随机小数
uninform(a,b) 随机小数
randint(a,b) 随机整数
choice() 随机选择一个
sample() 随机选择多个
shuffle() 打乱
import random
from random import randint
print(randint(10, 20))
# print(random.randint(10, 20))/
print(random.random())
print(random.uniform(10, 20)) # 10-20的随机小数
lst = ['宝宝', '宝浪', '宝强', '包拯']
random.shuffle(lst) # 随机打乱顺序
print(lst)
# 从列表中随机选择一个
print(random.choice(["林志玲", "刘一菲", "王昭君", "艾米", "宝宝"]))
print(random.sample(["林志玲", "刘一菲", "王昭君", "艾米", "宝宝"],3)) # 可以给随机选取几个
二.Counter 计数
from collections import Counter
print(Counter('宝宝今年特别喜欢王宝强')) # 计数
lst = ['jay', 'jay', 'jay', '宝宝', '宝宝', '胡辣汤', '上官婉儿']
c = Counter(lst)
print(c.get('宝宝'))
三.字典
1.默认值字典
from collections import defaultdict
dd = defaultdict(lambda: '胡辣汤') # callable 可调用的, 字典是空的
print(dd['张无忌']) # 从字典向外拿数据. 字典是空的. key:callable()
print(dd['宝宝']) # 这里的[] 和get() 不是一回事儿
print(dd)
2.有序字典
from collections import OrderedDict
dic = OrderedDict() # 有序字典
dic['a'] = '哈哈'
dic['b'] = '呵呵'
print(dic)
print(dic.get('a'))
print(dic.values())
print(dic['a'])
四.栈和队列
1.栈
特点:先进后出
class StackFullException(Exception):
pass
class StackEmptyException(Exception):
pass
class Stack:
def __init__(self,size):
self.size = size 给定存放数据的长度
self.lst = [] # 存放数据的列表
self.top = 0 # 栈顶指针
# 入栈
def push(self, el):
if self.top >= self.size:
raise StackFullException('your stack is full!!')
self.lst.insert(self.top, el) # 放元素
self.top += 1 # 栈顶指针向上移动一下
# 出栈
def pop(self):
if self.top == 0:
raise StackEmptyException('your stack is empty!!!')
self.top -= 1
el = self.lst[self.top]
return el
s = Stack(6)
s.push('宝宝')
s.push('我还')
s.push('记得')
print(s.pop())
print(s.pop())
print(s.pop())
2.单项队列
特点:先进先出
import queue
q = queue.Queue()
q.put('李嘉诚1')
q.put('李嘉诚2')
q.put('李嘉诚3')
q.put('李嘉诚4')
q.put('李嘉诚5')
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())
3.双向队列
特点:和单项一样
from collections import deque
d =deque() # 创建双向队列
d.append('宝宝') # 在右侧添加
d.append('no')
d.append('way')
d.append('哈哈')
d.appendleft('娃哈哈') # 在左边添加
d.appendleft('爽歪歪')
d.appendleft('优酸乳')
print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.pop()) # 从右边拿数据
print(d.popleft()) # 从左边拿数据
print(d.popleft()) # 从左边拿数据
print(d.popleft()) # 从左边拿数据
五.time模块
# 时间戳: 从1970-01-01 00:00:00 开始计算. 未来存储的时候用时间戳
print(time.time())
# 格式化时间
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 用来显示的
# 结构化时间(python的时间)
t = time.localtime()
print(t.tm_year)
print(t.tm_mon)
print(t.tm_mday)
# 数据库里存储一个数字. 把它还原成我们的格式化时间
a = 847772281.0
# 先把这个时间戳转换成python中的结构化时间
t = time.localtime(a) # 结构化时间括号里填的是秒 time.localtime(秒) # 本地化的东八区的时间
# t = time.gmtime(a) # 格林尼治时间
s = time.strftime('%Y-%m-%d %H:%M:%S', t) # time.strftime(格式化格式, 传入结构化转化完的时间 t)
print(s)
# 让用户输入一个时间. 然后把时间转化成时间戳
strt = input('请输入一个时间:')
# 把字符串转化成结构化时间
t = time.strptime(strt, '%Y-%m-%d %H:%M:%S')
# 转化成时间戳
print(time.mktime(t)) # 847772281.0 # 本地化的东八区的时间
六.functools
1.wraps
from functools import wraps # 可以改变一个函数的名字, 注释....
def wrapper(fn):
@wraps(fn) # 把inner的名字改变成原来的func
def inner(*args, **kwargs):
print('前')
ret = fn(*args,**kwargs)
print('后')
return ret
return inner
@wrapper # func = wrapper(func)
def func():
print('哈哈哈')
print(func.__name__) # func
2.reduce
def func(a, b):
return a + b # 0 + 1
# 会把我们每一个数据交给func去执行, 把默认值作为第一个参数传递给函数
ret = reduce(func, [1, 4, 7, 8, 6, 9],0)
print(ret)
print(reduce(lambda x, y: x+y, [i for i in range(101)]))
3.partial
from functools import partial
def chi(zhushi, fushi):
print(zhushi, fushi)
chi2 = partial(chi, fushi = "辣鸡爪")
chi2('大米饭')
chi2('小米饭')
chi2('黑米饭')
七.命名元组 namedtuple
p = namedtuple('Point', ["x", "y"])
p1 = p(10, 20)
print(p1)
print(p1.x)
print(p1.y)
八.OS模块 系统操作
1.os
# 必须要记住. 很常用
os.makedirs('baby/安哥拉/特斯拉') # 可以一次性创建多级目录
os.mkdir('baby/安哥拉/特斯拉/bb') # 上层文件夹必须存在
os.removedirs('baby/安哥拉/特斯拉/bb') # 目录不是空, 不能删除 #可以帮我们删除当前这个目录级中的所有空文件夹
# 可以记住 一般不删数据
os.rmdir('baby/安哥拉/特斯拉') # 指定文件夹删除
os.system('dir')
print(os.popen('dir').read()) # 执行shell脚本或者cmd命令
print(os.getcwd()) # 当前程序运行的文件夹 D:\python_workspace_s18\day 23 内置模块02
os.chdir('baby')
# os.path 和路径相关的内容
print(os.path.abspath('baby')) # 把相对路径改成绝对路径
print(os.path.split(r'D:\python_workspace\内置模块\baby\1.txt')) # 切割文件和文件路径
print(os.path.dirname(r'D:\python_workspace\内置模块\baby\1.txt'))
# 文件路径
print(os.path.basename(r'D:\python_workspace\内置模块\baby\1.txt'))
# 文件
print(os.path.existsr'D:\python_workspace\内置模块\baby\1.txt'))
# 判断文件是否存在
print(os.path.abspath('1.txt'))
2.sys模块
import sys
print(sys.path) # 找到模块的. 必须要记住. 模块的搜索路径
sys.path.append(r'D:\python_workspace\内置常用模块')
print(sys.path)
九.自定义模块和包
import
from xxx import xxxx
一个表达式 -> 一条语句 -> 语句块 -> 函数 -> 类 -> 模块 -> 包 -> 项目
包就是我们的文件夹, 包内可以写很多个模块.
查找路径是:sys.path, 随动. 跟着你的启动文件所在的位置变化
不论使用绝对导入. 还是相对导入. 启动文件一定在最外面
1.模块
写的一个py文件就可以称作一个模块
2.包
文件夹里装很多模块的就是包
来源:https://www.cnblogs.com/beargod/p/10202308.html
猜你喜欢
- python replace函数替换无效问题str = "hello,china!"str.replace("
- 本文实例讲述了Python图形绘制操作之正弦曲线实现方法。分享给大家供大家参考,具体如下:要画正弦曲线先设定一下x的取值范围,从0到2π。要
- 素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正
- 第一步:登陆root用户。第二步:新建一个数据表,并且选好排序规则,此处我使用testtable。第三步:我们新建一个用户输入相关的账户名以
- 相信大家平时都有这样的经历:页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览;当
- 如果要得到返回值,需要用Command的方法。 首先说明,返回值有两种。一种是在存储过程中直接return一个值,就象C和VB的函数返回值那
- 本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下1、Python 放大图片和画方格算法#!C:/Pyth
- 描述max() 方法返回给定参数的最大值,参数可以为序列。语法以下是 max() 方法的语法:max( x, y, z, .... )参数x
- 本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义,
- 我需要查询从现在算起五天前的日期。按照商业习惯,这五天应该不包含星期六和星期天。专家回答:对于许多跟商业日期有关的情况,最好的解决方案是使用
- 一、椭圆绘制实例代码:import tkinter as tk &nb
- 目录问题注意总结问题如何在一张表上对多个表进行外键关联from django.db import modelsclass Appliance
- 本文实例为大家分享了python3实现简单飞机大战的具体代码,供大家参考,具体内容如下游戏分为两个部分:1.主程序 2.游戏工具主程序实现:
- 项目地址:https://github.com/jrainlau/wallpaper-downloader前言好久没有写文章了,因为最近都在
- XMLHttpRequest 最近在 W3C 标准之路上又迈进了一步,W3C Web API&nbs
- 先给大家介绍下python交互模式下输入换行/输入多行命令的方法换行方法 \如:>>> print 'aaa
- 比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode(
- 这篇文章主要介绍了Pandas数据离散化原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 下面代码即是VBScript代码在服务器端编译后的显示内容,如果我们把这段代码保存成静态文件(HTML)或JS文件,那么上一篇提出的问题就迎
- 目录jiaba库的使用1、jieba库的安装2、统计荷塘月色词频总结jiaba库的使用jieba库是一款优秀的 Python 第三方中文分词