|Python|
介绍python语言、功能、工具集、工程
alexliu2360
后端/推荐系统/推荐算法
展开
-
【进阶-队列】优先队列PriorityQueue
1. PriorityQueue介绍1.1 优先队列1.1.1 原理最小堆原理1.1.2 表现形式纯数入队的pq类入队的pq1.2 比较函数修改如果入队的是类数据,则需要重新定义小于号,即__lt__()函数优先队列,默认是最小堆,即出队列是较小的数据如果需要使用最大堆,即出队列时先出较大的数据,则反过来定义__lt__()函数,自身数据大于别人数据当然也可以定义__gt__()函数,但是当这两个函数同时定义的时候,默认优先考虑__lt__()函数的定义2. 代码实例这原创 2022-02-17 12:55:31 · 591 阅读 · 0 评论 -
【python-基础】传参-传址传值
记录下python函数的传参方式:传值:被调函数局部变量改变不会影响主调函数局部变量传址:被调函数局部变量改变会影响主调函数局部变量Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组则传值;如果是列表,字典则传址;copy使用场景:列表或字典,且内部元素为数字,字符串或元组deepcopy使用场景:列表或字典,且内部元素包含列表或字典...原创 2022-01-12 10:30:22 · 897 阅读 · 0 评论 -
【python-基础】print方法
方法1print("变量1", file_name, "变量2", new_name)方法2print("变量1:%s 变量2:%s" % (file_name, new_name)) 格式字符说明格式字符说明%s字符串采用str()的显示%x十六进制整数%r字符串(repr())的显示%e指数(基底写e)%c单个字符%E指数(%b二进制整数%f,%F浮点数%d十进制整数%g指数(e)或浮点数(根据显示长度)%i原创 2021-12-28 15:26:24 · 586 阅读 · 0 评论 -
【Python】实现进度条的4种方式
1. 直接打印1import time#demo1def process_bar(percent, start_str='', end_str='', total_length=0): bar = ''.join(["\033[31m%s\033[0m"%' '] * int(percent * total_length)) + '' bar = '\r' + start_str + bar.ljust(total_length) + ' {:0>4.1f}%|'.forma转载 2021-07-13 18:56:28 · 516 阅读 · 0 评论 -
【python-基础】python2与python3差异比较
Print命令修改成print()函数Exception中无message,打印异常直接使用str(exception)tzlocal是第三库,需要单独安装,在python2.7中是python系统库2.x里的字符串用’xxx’表示str,Unicode字符串用u’xxx’表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u’xxx’和’xxx’是完全一致的,而在...原创 2019-03-27 09:42:34 · 228 阅读 · 0 评论 -
【python-基础】python虚拟环境的使用
环境配置使用的是python2: python 2.7.12# 安装pipeasy_install pip#安装virtualenvpip install virtualenv使用virtualenv(1)创建虚拟环境:virtualenv venv(2)激活虚拟环境:source venv/bin/activate(3)退出虚拟环境:deactivate(4)如果想使用p...原创 2018-12-24 15:19:52 · 214 阅读 · 1 评论 -
【python-进阶】set和dict
6.1collections中的abc6.2dict的常用方法 clear() copy()#浅拷贝 使用的是同一个地址的值深拷贝import copy new_d=copy.deepcopy(d)此时使用的是不同的地址fromkeys() 入参:可迭代的对象,如字典,元组,列表,字符串 出参:变换后的字典 例子: d={‘a’:’1’,’b’:’2’}...原创 2018-04-19 20:21:38 · 218 阅读 · 1 评论 -
【python-进阶】==和is、垃圾回收
7.1python的变量 python的变量实质上是一个指针,指向一个int或者str类型 也可以理解为一个便利贴 比如:a=1a='abc'a是贴在1或者'abc'上,先生成对象,然后贴便利贴a=1b=aprint(id(a), id(b))print(a is b)=>True7.2==和is的区别b=[1,2,3,4]print(id(a...原创 2018-04-19 20:20:41 · 212 阅读 · 0 评论 -
【python-进阶】自定义序列
5.2序列类型的abc继承关系 from collection import abc (Sequence MutableSequence) class Sequence(Revesiable, collection): pass行为:if … in …是因为有Container中的contains5.3序列的+ += extend() a=[1,2] b=a+[3,4]...原创 2018-04-17 20:29:22 · 555 阅读 · 0 评论 -
【python-装饰器】带有时间单位入参的的函数运行时间分析装饰器
import timedef performance(unit): def perf_wrapper(f): def wrapper(*args, **kwargs): start_time = time.time() res = f(*args, **kwargs) end_time = time...原创 2018-04-11 19:28:33 · 272 阅读 · 0 评论 -
【python-基础】ubuntu16.04源码安装python2
1、背景我在升级python版本的时候安装tkinter的时候遇到了如下问题:Python 2.7.4 (default, Apr 12 2013, 08:03:09) [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2Type "help", "copyright", "credits&原创 2018-03-12 14:30:41 · 857 阅读 · 0 评论