
Python
文章平均质量分 57
Inotime
There is no time left for delay.
Github: https://github.com/9527q
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
整理了一份开发者需要知道的 Python2 到 3.9 以来所有的改动
原创 2020-10-26 18:42:35 · 329 阅读 · 0 评论 -
IPv4 地址与 int 值转换【Python】
进公司时,等爷面试我问了这个题,IP 地址是如何存储的?今天想起来,写个 Python 的字符串格式 IP 地址与 int 互转。"""IPv4 地址与 int 值转换"""def ip_to_int(ip): """ :type ip: str :rtype: int """ int_ = 0 for i in ip.split('.'):...原创 2020-04-13 22:47:35 · 1557 阅读 · 0 评论 -
对 Python 代码使用的词语标记化器 tokenize,你懂了吗?【Python|标准库|tokenize】
tokenizetoken: n. 象征;标志; adj. 作为标志的;-ize: suff. 使成…状态;使…化;tokenize:标识化;标记化;tokenize 提供了“对 Python 代码使用的”词汇扫描器,是用 Python 实现的。扫描器可以给 Python 代码打上标记后返回,你可以看到每一个词或者字符是什么类型的。扫描器甚至将注释也单独标记,这样某些需要对代码进行特定...翻译 2020-03-16 19:59:49 · 10203 阅读 · 0 评论 -
一篇文章Python匿名函数从入门到放弃【Python基础|匿名函数|lambda】
匿名函数语法lambda 参数列表: 表达式说明lambda 是python关键字匿名函数就是指没有名字的函数匿名函数冒号后面的表达式必须有,且只能有一个,注意:是表达式,不是语句匿名函数自带 return,就是 return 表达式计算的结果,表达式计算结果是1,就返回1,是None,就返回None匿名函数这个格式也决定了他没办法写普通函数的那种说明文档(__doc__)...原创 2020-03-13 11:27:43 · 231 阅读 · 0 评论 -
【Python、第三方库】对ID进行编码
hashids加密IDimport hashids# 可以用 alphabet 参数(str)指定结果字符集,默认是大小写字母加数字hash_ = hashids.Hashids(salt='8vrC#BedKqh9a*Np', min_length=10)# 编码hash_.encode(3) # 'KP3RLAW7MV' 可以传多个值进去,解码的时候得到的是当初的多个值组成的元...原创 2019-12-02 19:41:16 · 426 阅读 · 0 评论 -
【Python】重写一个类的布尔判断值
重写一个类的布尔判断值有时会需要自定义的控制一个对象的布尔判断值,有两个方案可以实现重写 __nonzero__ 方法或者重写 __zero__ 方法1. 重写 __nonzero__ 方法Python 2.7 可以,3.7 不行class TrueBool(object): """布尔值为真举例""" def __nonzero__(self): re...原创 2019-10-28 18:25:59 · 542 阅读 · 0 评论 -
【Python】官方文档中文版
Python官方文档中文版应该是正在翻译中,现在官网貌似找不到入口,但是可以通过访问进入。在文档url后面加上zh-cn即可。https://docs.python.org/zh-cn/,里面还有很多内容是英文的。直接找找不到:url中加上zh-cn:成功进入:...原创 2019-03-22 14:25:59 · 30870 阅读 · 8 评论 -
【Python】母牛问题
Python 3.6.7母牛问题题目描述:有一头母牛,它每年年初生一头小母牛。每头小母牛从第 4 个年头开始,每年年初也生一头小母牛。(别问我公牛上哪去了……)请编程实现计算在第 n 年的时候,共有多少头母牛?输入:年份 n输出:母牛的数量示例:第 1 年有 1 头母牛第 2 年有 2 头母牛第 3 年有 3 头母牛第 4 年有 4 头母牛第 5 年有 6 头母...原创 2019-03-02 14:41:10 · 9089 阅读 · 0 评论 -
Python 服务器socket关闭后自动执行工作
重写原socket的一些方法来实现 import socketfrom _socket import getdefaulttimeoutclass MySocket(socket.socket): """重写服务器端socket""" def __init__(self, *args, **kwargs): super().__init__(*args,...原创 2019-02-20 16:47:08 · 8062 阅读 · 0 评论 -
Python 把任意系统的路径转换成当前系统的格式(关于 / \ 分隔符的)
Python 3.6.7 不管输入的路径是 \ 还是 /,也不管当前系统需要什么样的,都能正确转换。 1. 逻辑比较清晰import osdef convert_path(path: str) -> str: seps = r'\/' sep_other = seps.replace(os.sep, '') return path.replac...原创 2019-02-19 17:25:53 · 15495 阅读 · 2 评论 -
【Python】百分比显示
Python 3.6.7函数:def percentage(i: int, n: int): print('\r{}{}%'.format(['/', '-', '\\'][i % 3] if n-i else '', int(i/n*100)), end='' if n-i else '\n')效果:import timefor i in range(1...原创 2019-02-21 18:08:54 · 11300 阅读 · 0 评论 -
【Python】压缩字符串
Python 3.6.7def compress_text(text: str) -> str: """compress text compress_text('aabcccccb') --> 'a2b1c5b1' return text if len(result) >= len(text) O(n) """ i...原创 2019-02-21 17:08:00 · 12343 阅读 · 0 评论 -
【Python、数学】计算任意位数的圆周率π(马青公式)
1. 公式准备计算准确圆周率的马青公式:对反正切进行级数展开:就可以得到π = 16(1/5 - 1/3/5^3 + 1/5/5^5 - ...) - 4(1/239 - 1/3/239^3 + 1/5/239^5 - ...)π = (16/5 -4/239) + (- 16/5^3/3 + 4/239^3/3) + (16/5^5/5 - 4/239^5/5) + ...原创 2018-09-19 01:23:42 · 27572 阅读 · 3 评论 -
【Python、练习题】排序妙用
Python3.7.1题目:生成包括N(=1000)个0-100之间的随机分数,统计其中各个分数出现的次数,按照出现次数的从高到低的顺序(不包括出现次数为0的分数)打印出来。首先采用每行:分数 次数格式输出其次每行: 次数:分数1、分数2.... 的格式输出最终是下面这种输出结果import randomscore_num = {}for _ in range(1000...原创 2019-04-04 11:59:27 · 3212 阅读 · 1 评论 -
【Python、练习题】指定权重抽卡
"""指定整数权重抽卡"""import randomdef ex_card(cards, num): labels = [0] for card in cards: labels.append(labels[-1] + card[1]) rands = [random.randint(1, labels[-1]) for _ in range(...原创 2019-04-13 10:31:33 · 2916 阅读 · 0 评论 -
【Python、练习题】判断括号是否符合
def check_brackets(string): brackets = {'{': 1, '}': -1, '(': 2, ')': -2, '[': 3, ']': -3} temp = [] for s in string: value = brackets.get(s) # 如果不是括号...原创 2019-04-26 12:35:00 · 1527 阅读 · 0 评论 -
【Python、练习题】自定义栈,并实现O(1)查找最值方法
以查找最小值为例class MyStack: def __init__(self): self.values = [] self.mins = [] def push(self, ins): if not self.mins: self.mins.append((0, ins)) elif ...原创 2019-04-26 12:40:45 · 663 阅读 · 0 评论 -
【Python第三方库】better-excptions 在 Django 中的使用
better-excptions在抛出错误信息时直接展示变量的值,可以在大部分情况省略掉 print 和 debug 的过程,大大缩短问题定位时间。GitHub在 Django 中使用大体按照 GitHub 中说明的使用就好,有两点需要说明中间件的 __init__ 方法的 get_response 参数应该有 None 默认值,这是中间件的标准写法,不是所有调用中间件的对象都有这个参...原创 2019-10-10 12:16:18 · 185 阅读 · 0 评论 -
【Python】整理列表、字典的数据格式化展示
Python 列表、字典 格式化美观展示查看json.loads indent 锁进原创 2019-10-10 19:56:01 · 1293 阅读 · 0 评论 -
无限 for 循环的实现【Python】
Python 无限 for 循环手动实现无限for循环的迭代器python内置无限循环迭代器for循环无限循环原创 2019-10-11 11:39:03 · 21825 阅读 · 0 评论 -
【Python、标准库】itertools
Python 标准库 itertools无限循环的迭代器 count cycle repeat排列组合相关的 product,permutations,combinations,combinations_with_replacement原创 2019-10-11 15:15:32 · 958 阅读 · 0 评论 -
Python导包from . import xx 或from .xx import xx 格式的使用
Python导包from . import xx 或from .xx import xx 格式的使用Python以点.开头的导包怎么用本模块内__name__的值是 'package_xx.my_name' 格式 且 想要从同级开始导入东西时。package_xx可以是多层,但最少1层。那个点的意思就是把__name__的值退一层 __name__的值中有n个点 ==> from 后能以m(m<=n)个点开头按需选择m的值,一个点表示从__name__退一层原创 2018-07-28 11:15:35 · 22619 阅读 · 2 评论 -
Python 斐波那契/跳台阶一步两步/跳台阶多种步法/配零钱
Python3.6.3 跳台阶一步两步1. 跳n(n∈N)阶台阶过程中最多有 n//2 步是跳了2阶,2阶步数固定的情况下可以用 C(总步数, 2阶的步数) 求出方法数,再把所有情况都加起来即可。from math import factorialfrom functools import reducefrom scipy.special import comb # C(...原创 2018-09-13 18:40:50 · 8523 阅读 · 0 评论 -
Python 99乘法表
Python3.6.3 # for j in range(1, 10):# for i in range(1, j+1):# print('{}*{}={}\t'.format(i, j, i*j), end='')# print()print('\n'.join('\t'.join('{}*{}={}'.format(i, j, i*j) fo...原创 2018-09-16 13:15:19 · 7933 阅读 · 0 评论 -
anaconda虚拟环境相关命令
创建虚拟环境conda create -n env_name python=x.x查看虚拟环境conda env listconda-env listconda info -e使用(激活)虚拟环境Linux:source activate env_nameWindows:[conda] activate env_name退出虚拟环境 Linux:source...原创 2018-09-02 18:22:55 · 15602 阅读 · 0 评论 -
Python中print和input调用了Python中底层的什么方法
代码版本:3.6.3printprint() 用 sys.stdout.write() 实现import sysprint('hello')sys.stdout.write('hello')print('new')# 结果:# hello# hellonew可以看到两者还是有不同的。 sys.stdout.write()结尾没有换行,而print()是自...原创 2018-08-03 13:29:32 · 8113 阅读 · 1 评论 -
Python关键字keyword
代码版本:3.6.3 关键字 关键字是指Python中的保留字,是已经规定好的有其固定作用的词,定义变量时不能与关键字重名。关键字不是变量,只是一种有特殊用处的词语。keyword模块中的kwlist是一个列表,存放了Python中所有的关键字(str格式)。关键字其实很好分辨,就是编写代码时那些不曾定义过就直接使用的单词(不是符号),而且使用时决不能带括号,那就一定是关键字,用这个规...原创 2018-08-03 00:15:22 · 26647 阅读 · 0 评论 -
Python之禅this
代码版本:3.6.3 导入this模块即可。对,就这一句。 import this结果: The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is ...原创 2018-08-02 23:35:06 · 9028 阅读 · 0 评论 -
Python循环导包
代码版本:3.6.3Python不存在循环导包问题,或者说那些被称之为循环导包问题的真正原因不是循环,真正原因是在使用一个对象的时候还没有获取到这个对象(从报错信息也能看出这一点)。不管是直接import还是from格式的导包,Python都只加载一次被导的包,以后即使再有导包语句也不会真正的加载那个包,只会去已经加载过的地方去寻找想要的对象。(Python可以实现真正重新导入)不...原创 2018-08-02 22:34:25 · 6802 阅读 · 0 评论 -
Python中的eval函数
代码版本:3.6.3 文档:3.6.6eval() eval()是Python内置函数,点进去是这样的def eval(*args, **kwargs): # real signature unknown """ Evaluate the given source in the context of globals and locals. Th...原创 2018-08-02 21:46:16 · 12010 阅读 · 0 评论 -
【Python】Python中的id()和is
id()返回对象的唯一身份标识,在CPython中即是对象在内存中的地址,具有非重叠生命周期的两个对象可能有相同的id。is判断两个对象是不是同一个对象,逻辑是判断同一时刻这两个对象的id是否相同。代码版本:3.6.3;文档版本:3.6.6id()本来没啥写的,我一直的理解就是返回对象在内存中的地址。直到有一次:class A: def aa(self)...原创 2018-07-25 15:32:34 · 13916 阅读 · 3 评论 -
Python中的__hash__和__eq__方法之间的一些使用问题
代码版本3.6.3 文档版本:3.6.6 object.__hash__(self)Called by built-in function hash() and for operations on members of hashed collections including set, frozenset, and dict. __hash__()方法会被上述四种情况调...原创 2018-07-25 14:25:34 · 14238 阅读 · 0 评论 -
Python 运行.py文件和交互式运行代码的区别
Python运行.py文件和交互式运行代码的区别1. 交互式运行代码会直接给出表达式的结果,运行代码文件必须print才能在控制台看到结果。交互式中可以用下划线 `_` 来查看上一次输出的结果。如果给下划线赋值,这个效果就没了。 2. 交互式输出会输出原始内容,print会输出渲染后的内容3. 交互式每一句代码都是一个整体,会单独运行一次,不过共享整个缓存;而运行.py文件时里面的所有代码是一个整体。原创 2018-08-03 14:41:34 · 30810 阅读 · 0 评论 -
Python 函数 可变类型传参 注意点
代码:3.6.3 函数缺省形参如果是可变类型,那么函数内部的操作真的会影响省略缺省参数时的使用情况。def f(l=[]): # 其实这里写的时候pycharm就会有警告提示:默认参数是可变的 l.append(1) return l# 改变了默认参数的值print(f())# 当使用默认参数时的函数调用会受影响print(f())# 传入参数时的函数...原创 2018-08-16 19:04:05 · 7706 阅读 · 0 评论 -
Python 平面上的点的最短连线网
Python3.6.3如下图所示,平面上有一些点,需要将所有点连起来,使任何一个点都可以和其他点连通(直接或间接),且连接线段长度总和最短。例:下面的四个点,相互连通,并且总长度是最短的。思路:共有n个点,最短连线集合f(n)一定存在。假设有m (1≤m<n)个点,它们的最短连线集合是f(m),并且满足在f(n)中这m个点的连线也可以是f(m)。计算剩余n-...原创 2018-09-02 16:09:15 · 14308 阅读 · 13 评论 -
ddddd Python 列表表示整数
用列表来表示整数,比如[1,2,3]表示123,[9,9]表示99。加法:def add(num1: list, num2: list) -> list: """加法""" l1, l2 = len(num1), len(num2) l = max(l1, l2) + 1 num1 = [0] * (l - l1) + num1 # 让两个数字长度...原创 2018-09-02 08:09:03 · 7599 阅读 · 0 评论 -
Python 汉诺塔
Python3.6.3递归和非递归两种方法,第三个函数是用来检验步骤正确与否的。 from typing import Listdef hanoi1(n: int, start: int = 0, target: int = 2) -> List[str]: """ 递归求解汉诺塔 共有0,1,2三个柱子 时间复杂度O(2^n) 空...原创 2018-08-24 22:46:16 · 7794 阅读 · 2 评论 -
Python windows 安装TA-Lib
windows安装TA-Lib遇到问题,查网上各种解决方案说的也不清楚,直到从 lijiecong 的博文发现了这个网站:http://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib已经为windows编译好了各种包的dll库,直接install即可,非常方便。打开网站下载合适版本的.whl。 比如我的是Python3.6.3,win64,就下...原创 2018-08-21 16:35:57 · 7957 阅读 · 0 评论 -
Python 小整数池的内存优化
Python:3.6.3 系统:win10.0学Pythond的想必都知道,对整数N [-5, 256],解释器对他们做了单独的处理,放进了固定的内存中,不因你每次运行而变化。这里再记录一些相关的。不仅对小整数有这样的处理,内建的类(int,staticmamethod,object,TypeError,,,)也都是这样处理的。 看一个变量的内存是不是这样处理的,无需运行两...原创 2018-08-17 12:47:16 · 8186 阅读 · 0 评论 -
Python 扑克
Python3.6.3""" 52张扑克: ['♥2', '♦2', '♣2', '♠2', '♥3', ... ] draw(n) 抽取n张牌 is_same_flower(pokers) 判断同花 is_straight(pokers) 判断顺子 is_flush(p...原创 2018-08-20 03:25:48 · 9124 阅读 · 0 评论