python
wcl1800
这个作者很懒,什么都没留下…
展开
-
算法题_单词加密_python实现
/单词加密。输入一个字符串和一个非负整数k,对字符串中的每一个字母,用字母表中其后的第k个字母代替,不够k个时再从字母a循环计数。例如k=3是,a用d代替,A用D代替,x用a代替,y用b代替,保持大小写不变。字符串中的非字母字符不变。字符串的长度不超过100。输入:一个字符串(无空格)和非负整数k,之间用空格分隔输出:加密的字符串。/# todo 测试输入str_in = 'asAf$ccz'str_num = int('3')# todo 解答import stringlowe原创 2022-04-08 16:14:54 · 1789 阅读 · 0 评论 -
python实现四舍五入
# 四舍五入def round_num(number, power): """ 实现精确四舍五入,包含正、负小数多种场景 :param number: 需要四舍五入的小数 :param power: 四舍五入位数,支持0-∞ :return: 返回四舍五入后的结果 """ digit = 10 ** power num2 = float(int(number * digit)) # 处理正数,power不为0的情况 if nu原创 2021-03-26 10:04:16 · 703 阅读 · 0 评论 -
python的字典扩展操作(collections模块)
1.概览keyvalueChainMap类似于字典的类,将多个字典组合成一个字典,并且支持字典的所有操作Counter用于计数2.ChainMapfrom collections import ChainMapa = {"a": 1}b = {"b": 2}c = {"c": 3}# 1.生成chainmap类型的字典数据new_dict = ...原创 2021-03-02 01:13:59 · 500 阅读 · 0 评论 -
openpyxl操作excel的一些方法
一 条件格式import openpyxlfrom openpyxl import stylesfrom openpyxl.formatting.rule import CellIsRuleotl_file_path = r'test.xlsx'wb = openpyxl.load_workbook(otl_file_path)red_color = 'ffc7ce'red_color_font = 'F0E68C'# 设置格式样式red_fill = styles.Pattern原创 2020-12-14 15:33:11 · 256 阅读 · 0 评论 -
pandas的一些函数使用
一.替换1.where二.筛选1.between2.query三.排序1.rank对某列排序后, 返回一列排序后的series参数注解method排序策略 ‘average’, ‘min’, ‘max’, ‘first’, ‘dense’na_option对nan值得处理 ‘keep’, ‘top’, ‘bottom’ascending升序降序 True Falseimport pandas as pddf1 = pd.DataFrame([[原创 2020-10-16 14:06:04 · 254 阅读 · 0 评论 -
python的Numpy操作
1.数组的生成import numpy as np# 生成一般数组np.array([1, 2, 3])np.array((1, 2, 3))np.array({"a": 1, "b": 2})np.array([[1,2, 3], [1,2, 3]])# 生成特殊类型的数组# np.arange(start, stop, step) start 默认为0 , step默认为1np.arange(1, 15, 3)# 生成全部为0的数组np.zeros(15)np.zeros(原创 2020-08-02 17:20:31 · 440 阅读 · 0 评论 -
python的进程池,线程池(使用futures库实现)
import timefrom concurrent import futuresdef func_test(data): print("这里是子线程函数") time.sleep(1) return datadef call_back_func(future_obj, var=None): print(future_obj.result()) print("每个子线程执行完成后,会执行该回调函数, 打印var={}".format(var))i.原创 2020-06-03 17:21:41 · 247 阅读 · 0 评论 -
python的queue队列类型及函数
1 队列的种类Python queue模块的FIFO队列先进先出。 class queue.Queue(maxsize)LIFO类似于堆,即先进后出。 class queue.LifoQueue(maxsize)还有一种是优先级队列级别越低越先出来。 class queue.PriorityQueue(maxsize)import queue# 先进先出队列queue_obj = queue.Queue()for i in range(3): queue_obj.put(i)原创 2020-06-01 18:59:42 · 1793 阅读 · 0 评论 -
python得代码执行速度和空间占用统计工具line_profiler,cprofile,memory_profiler
参考文件 https://www.cnblogs.com/meishandehaizi/p/5863234.html1.逐行统计 line_profiler1.1 安装line_profilerhttps://www.lfd.uci.edu/~gohlke/pythonlibs在这个网址找到对应得包,然后pip install 文件路径1.2 方法1@profiler在需要统计的函数,加上@profler装饰器,通过命令行 kernprof -l -v test_file.py 启动@.原创 2020-05-30 15:43:35 · 490 阅读 · 0 评论 -
python的日志配置
一.类方法class Logger(object): def __init__(self, log_file_name, log_level, logger_name): # 创建一个logger self.__logger = logging.getLogger(logger_name) # 指定日志的最低输出级别,默认为WARN级别 self.__logger.setLevel(log_level) # 创建原创 2020-05-25 19:42:29 · 315 阅读 · 0 评论 -
jupyter的相关配置
一.更换主题原创 2020-05-25 09:31:01 · 207 阅读 · 0 评论 -
python的pandas读写excel文件
https://www.cnblogs.com/DeepRunning/p/9205876.html1. read_excle的各项参数参数解释io文件位置, 在文件位置的字符户前面添加 r 转义符避免 \ 被转义sheet_namesheet页名称,或者sheet的index, 也可以接受一个列表参数, 返回字典对应的不同sheet页header以e...原创 2020-05-08 15:07:54 · 249 阅读 · 0 评论 -
python的pandas库的DataFrame和Series对象操作
一.操作excle文件1.1 读取excle1.1.1 read_excledata = pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=None, ...原创 2020-04-26 18:44:18 · 923 阅读 · 0 评论 -
python的os模块
名称解释name主要作用是判断目前正在使用的平台,并给出操作系统的名字,如Windows 返回 ‘nt’; Linux 返回’posix’。注意该命令不带括号pardir获取当前上级目录=》返回 …getcwd()全程get current work directory 获取当前文件所在的绝对路径 例如: C:\Users\clwu02listdir()...原创 2020-04-24 19:15:28 · 115 阅读 · 0 评论 -
python的property两种使用场景
1.给对象提供, 像调用属性一样的方式, 调用方法class Aaa(): @property def hello(self, ): return "hello"aa = Aaa()aa.hello # 通过调用属性的方式, 调用函数2.修改类的私有属性时, 方便的进行参数校验class Aaa(): def __init__(self, ):...原创 2020-04-22 18:06:07 · 544 阅读 · 0 评论 -
python中的一些关键字
名称解释slots将类创建对象后, 锁定对象, 不再支持动态修改属性, 并且将对象__dict__去除, 改为元组all1name1main1dict11.slotsclass Text(): def __init__(self, a, b): self.a = a self.b = b...原创 2020-04-22 17:42:09 · 167 阅读 · 0 评论 -
python的itertools模块
1.countimport itertools# count的第一个参数为迭代的起始位置, 第二个参数为步长(可以为负数)# 注意count 可以无限迭代, 必须设置迭代停止条件for i in itertools.count(10, -5): print(i) if i < -30: break...原创 2020-04-21 18:31:50 · 211 阅读 · 0 评论 -
python的functools模块
1.lru_cachefrom functools import lru_cache# maxsize 为缓存数量, 一般为2的幂性能最佳, typed表示相同参数的不同类型参数,算作不同的缓存@lru_cache(maxsize=1, typed=True)def func(var): print(var + 1) return varprint(func(1))...原创 2020-04-21 16:01:39 · 165 阅读 · 0 评论 -
python参数校验函数工具
import time# 这两个异常类是自定义的from app.utils.error_class import WebParaError, FuncParaError# 内部调用的函数def check_date(str_var): """ 校验字符串时间格式是否正确 :param str_date_list: 时间字符串列表或字符串 :retur...原创 2020-04-16 18:21:28 · 577 阅读 · 0 评论 -
python的async和await异步函数
import asyncio# 实现了上下文管理 loop对象, 实现了close方法class Aaa(object): def __init__(self): self.loop = None def __enter__(self): loop = asyncio.get_event_loop() sel...原创 2020-04-06 21:33:10 · 447 阅读 · 0 评论 -
python的traceback与sys.exc_info异常处理
参考连接https://www.jianshu.com/p/01ed4b8d7d9aloger = logging.getlog(“djano”)loger.error(traceback.format_exc())原创 2019-06-27 13:56:29 · 194 阅读 · 0 评论 -
Django操作原生sql语句
from django.db import connection# 创建游标(使用with语句是为了,在sql语句执行出错时, 能够释放游标资源)with connection.cursor() as curser: curser.execute("执行一条sql语句") curser.executescript("执行多条sql语句") curser.f...原创 2020-04-03 22:07:12 · 141 阅读 · 0 评论 -
Django使用dwebsocket实现即使通讯
一.后台代码from dwebsocket.decorators import accept_websocket@accept_websocketdef test_func(request): """ 这是一个函数接口视图 :param request: :return: """ # 1. 接受前端传回的数据 res = reque...原创 2020-01-16 23:07:12 · 357 阅读 · 0 评论 -
redis发布订阅
一.阻塞import redisclass RedisBloking(): """ 阻塞发布订阅 """ def __init__(self): self.__conn = redis.Redis(host='127.0.0.1', port=6379) self.channel = 'long_channel' de...原创 2020-01-16 22:54:22 · 99 阅读 · 0 评论 -
python函数的默认参数不能为可变类型
def func(var=[]) var.append(1) print(var)func(var=[])# 第一次调用 显示[1]func(var=[])# 第二次调用 显示[1, 1]# 当不给默认参数传参时, 两次调用的 的列表id为同一个...原创 2020-01-07 23:02:05 · 331 阅读 · 0 评论 -
Django发送邮件
一,配置setting# 邮箱配置项EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_HOST = # 邮箱服务器的ip地址EMAIL_PORT = # 端口号EMAIL_HOST_USER = # 发送邮件的邮箱EMAIL_HOST_PASSWORD = # 在邮箱中设置的客户端授权密码EMAI...原创 2019-11-05 19:33:30 · 216 阅读 · 0 评论 -
服务器上传下载文件
https://www.cnblogs.com/linxiyue/p/4038436.htmlhttp://blog.chinaunix.net/uid-21633169-id-4349787.htmlhttps://blog.csdn.net/changkai456/article/details/80711083 较为详细原创 2019-06-25 17:35:30 · 171 阅读 · 0 评论 -
python的lambda函数
转自这里转载 2019-11-02 16:38:12 · 186 阅读 · 0 评论 -
python编程时自定义异常
1 异常基类 编写class BaseError(Exception): # 继承自Exception基类def init(self, errorinfo): # errorinfo是外部调用这个异常时,显示的内容super().init(self)self.errorinfo = errorinfodef str(self): # 打印异常时显示的内容return self.err...原创 2019-11-02 16:20:07 · 91 阅读 · 0 评论 -
python优雅的使用with语句
with使用场景文件读取和关闭数据库连接和断开线程上锁和解锁处理异常(待研究)class TestFunc(): def __init__(self, var_a, var_b): self.var_a = var_a self.var_b = var_b print("这里将会第一个执行, 初始化类") def ...原创 2019-11-02 16:18:33 · 200 阅读 · 0 评论 -
python2和python3的区别
一 函数input() py2中,将输入的内容作为指令, py3中将输入的内容作为字符串print() py2中print是一个特殊语句, py3中是一个函数range() py2中xrange和range是有区别的,py3中取消了xrange,全部为rangeround() py2中返回的是float型, py3中返回的是int型map(),filter(),reduce() 在py...原创 2019-11-02 14:54:29 · 120 阅读 · 0 评论 -
python的内置函数
一.常用内置函数abs(): 取参数绝对值 all(可迭代参数) 判断迭代器内是否全部为真 返回True/False any(可迭代参数) 判断迭代器内是否全部为假 返回True/False dir() 不传参数时,返回当前范围内的变量,方法,和定义的类型列表, 带参数时,返回参数的属性,方法列表 issubclass(classA, classB) 如果classA是cla...原创 2019-10-30 17:03:09 · 115 阅读 · 0 评论 -
python,django的orm操作
https://www.cnblogs.com/pengpengge/p/9405204.html原创 2019-06-26 11:00:09 · 139 阅读 · 0 评论 -
python3.6字典实现有序的原理
https://blog.csdn.net/Pythoncxy/article/details/95968965转载 2020-04-03 22:20:35 · 884 阅读 · 0 评论 -
yield
参考文献https://www.jianshu.com/p/9dd355ab4e5d原创 2019-07-01 17:51:55 · 82 阅读 · 0 评论 -
datatime时间管理模块
https://blog.csdn.net/li_l_il/article/details/86995484原创 2019-06-27 11:48:48 · 126 阅读 · 0 评论 -
发送邮件
参考文件https://www.cnblogs.com/insane-Mr-Li/p/9121619.html原创 2019-07-03 11:13:59 · 146 阅读 · 0 评论 -
python的第三方库汇总
Python 资源大全中文版环境管理管理 Python 版本和环境的工具p:非常简单的交互式 python 版本管理工具。官网pyenv:简单的 Python 版本管理工具。官网Vex:可以在虚拟环境中执行命令。官网virtualenv:创建独立 Python 环境的工具。官网virtualenvwrapper:virtualenv 的一组扩展。官网包管理...转载 2019-07-06 10:49:31 · 2428 阅读 · 0 评论 -
判断输入字符中是否有汉字
test_str = "aaaabbbccccc"def func(test_str): for char in test_str: if "\u4e00" <= char <= "\u9fa5" return "test_str 中包含汉字"原创 2019-07-31 11:27:48 · 192 阅读 · 0 评论 -
python多任务变成,多进程,多线程,协程
原生(内含线程锁)import threadingimport timelock = threading.Lock()var = 0def func_test(data): for i in range(10000): global var lock.acquire() var += i lock.release() print("这里是子线程需要调用的函数"...原创 2019-09-02 19:28:19 · 138 阅读 · 0 评论