![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python编程技巧
夕麻
这个作者很懒,什么都没留下…
展开
-
python pip安装改善方法
在我们使用pip安装时,经常会遇到很多问题导致我们pip失败,这里笔者有几个方法方法一,有时安装超时我们可以设置超时时间pip --default-timeout=100 install xxx方法二:更改镜像源,因为默认镜像源是在国外的,我们可以通过更改镜像源来是pip成功更改镜像源方法pip install xxxx -i https://pypi.douban.com/simpl...原创 2020-03-09 13:25:05 · 230 阅读 · 0 评论 -
还在为你的异常输出过长而烦恼吗?还来试试这个方法吧!
在平时执行代码时你是否遇到过报错信息很长,还掺杂在一些运行数据当中,不仅不美观,还不利于我们观看。比如下面这段代码def demo(): for i in range(-10, 1, 1): print(1/i)if __name__ == '__main__': demo()当我执行上面代码时,会得到如下报错这里我向大家推荐 pretty-err...原创 2020-02-14 08:54:28 · 169 阅读 · 0 评论 -
python 练习题
1.如何区别可变数据类型和不可变数据类型对象的内存地址方向可变数据类型内存地址不变 值是可以改变的,list dict set不可变数据类型内存地址改变,值也跟着变化,int str tuple bool2.Python 垃圾回收机制?引用计数机制遇到循环引用时可以使用下面两种方法标记-清除分代回收3. Python中会有函数或成员变量包含单下划线前缀和结...原创 2020-02-05 12:49:36 · 213 阅读 · 0 评论 -
Python-GIL
现在我们有下述三种情况:1、主线程死循环while True: passwhile True: pass创建两个死循环的主线程2、2个线程死循环import threading# 子线程死循环def test(): while True: passt1 = threading.Thread(target=test)t1.start...原创 2020-02-05 12:48:28 · 146 阅读 · 0 评论 -
Python re模块
在Python中,通过内置的re模块提供对正则表达式的支持。re模块中的方法方法功能返回值compile(pattern[, flags])根据包含正则表达式的字符串创建模式对象re对象search(pattern, string[, flags])在字符串中查找第一个匹配到的对象或者Nonematch(pattern, string[, flags]...原创 2020-02-04 14:20:04 · 108 阅读 · 0 评论 -
Python 正则表达式
正则表达式比如说我们要在一个文件中搜索以什么开头、以什么结尾或者包含什么的句子,这时候正则表达式是帮助我们来实现这些功能的东西。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。普通字符普通字符就是指字母、数字、汉字、下划线、以及没有特殊定义的符号。在正则表达式中,普通字符在匹配的时候只匹配与自身相同的一个字符。转义字符一些具有特殊功能的字符,采用在前面...原创 2020-02-03 15:15:20 · 112 阅读 · 0 评论 -
Python 深入列表
列表推导式在学习python的列表推导式前,我们先学习三个东西:lambda、map、filterlambda表达式lambda是在一行中编写一个函数,但如果这个函数被多次调用,则其性能会受到一定的影响,其格式为函数名 = lambda 参数1,参数2:函数体如add = lambda a1,a2:a1 + a2该lambda表达式的含义与下面这个函数所表达的意思是一样的def...原创 2020-02-01 15:30:53 · 242 阅读 · 0 评论 -
Python多任务-协程
协程,又称微线程协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)Python中的协程大概经历了如下三个阶段:1、最初的生成器变形yield/send2、yield from3、在最近的Python3.5版本中引入async/await关键字协程主要是通过运行代码中的时间延迟来完成任务,我们可以这样理解线程、进程、协程:一条流水线上有...原创 2020-01-20 23:10:12 · 163 阅读 · 0 评论 -
Python多任务-进程
我们可以这样理解进程与线程,进程相当于是电脑上运行的qq,qq音乐,lol这样的不同的程序,而线程是qq上的不同的聊天窗口。根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位而进程和程序的差别则是:进程:正在执行的程序程序:没有执行的代码,是一个静态的使用进程实现多任务multiprocessing模块就是跨平台的多进程模块,提供了一个Process类来代表一个...原创 2020-01-18 21:51:26 · 108 阅读 · 0 评论 -
Python多任务-线程
多任务有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的在程序中模拟多任务:import timedef sing(): for i in range(3): print("正在唱歌...%d"%i) time.sleep(1)def dance(): for i in range(3)...原创 2020-01-17 19:48:10 · 307 阅读 · 0 评论 -
Python socket编程(2)
TCP介绍TCP协议,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议TCP通信需要经过创建连接、数据传送、终止连接三个步骤。TCP通信模型中,在通信开始之前,一定要先建立相关连接,才能发生数据。TCP特点面向连接1.通信双方必须先建立连接才能进行数据的传输2.可靠传输TCP采用发送应答机制1.超时重传2.错误校验3.流量控制和阻塞管理TCP与UDP区别总...原创 2020-01-16 22:59:44 · 162 阅读 · 0 评论 -
Python socket编程(1)
IP地址目的:用来标记网络上的一台电脑windows和Linux查看网卡信息在命令行中输入:Linux中 ifconfigwindows中 ipconfigIP地址的分类:端口端口分类:1.知名端口(well known ports)80端口分配给HTTP服务21端口分配给FTP服务范围是从0到10232.动态端口动态端口的范围是从1024-65535socket简...原创 2020-01-16 21:52:05 · 210 阅读 · 0 评论 -
python中的迭代器和生成器
迭代器在介绍迭代器之前,先说明下迭代的概念:迭代:通过for循环遍历对象的每一个元素的过程。Python的for语法功能非常强大,可以遍历任何可迭代的对象。在Python中,list/tuple/string/dict/set/bytes都是可以迭代的数据类型。迭代器是什么?迭代器是一种可以被遍历的对象,并且能作用于next()函数。迭代器对象从集合的第一个元素开始访问,直到所有的元素...原创 2020-01-16 16:06:35 · 126 阅读 · 0 评论 -
python 元类编程
__getattr__与__getattribute__魔法函数原创 2020-01-16 15:40:18 · 148 阅读 · 0 评论 -
python 调试和性能分析
代码调试代码调试的最简单的一个方法就是利用print()函数观察哪个地方打印出现问题,但这只适用于小型程序。因为你每次都得重新运行整个程序,或是一个完整的功能模块,才能看到打印出来的变量值。而在其他情况下,我们可以使用如下几种方法1、断点调试在使用pycharm等编译器是,可以设置一个断点,然后再一行一行的运行来查找出问题所在2、使用pdb调试pdb调试也十分的简单,在代码中加入imp...原创 2019-12-30 23:08:28 · 570 阅读 · 0 评论 -
Python 垃圾回收机制
Python 中一切皆对象。因此,你所看到的一切变量,本质上都是对象的一个指针。那么,怎么知道一个对象,是否永远都不能被调用了呢?就是当这个对象的引用计数(指针数)为 0 的时候,说明这个对象永不可达,自然它也就成为了垃圾,需要被回收。import osimport psutil# 显示当前 python 程序占用的内存大小def show_memory_info(hint): ...原创 2019-12-30 22:43:58 · 130 阅读 · 0 评论 -
类与对象深度问题与解决技巧(2)
4.如何创建可管理的对象属性在面向对象编程中,我们把方法看做对象的接口。直接访问对象的属性可能是不安全的,或设计上不够灵活,但是使用调用方法在形式上不如访问属性简洁。class A: def __init__(self, age): self.age = age def get_age(self): return self.age d...原创 2019-12-28 00:16:10 · 173 阅读 · 0 评论 -
类与对象深度问题与解决技巧(1)
1.如何派生内置不可变类型并修改其实例化行为比如我们想定义一个IntTuple类,表示接受参数后,只取其中int类型,且大于0的,然后存为tuple类型首先我们想到继承父类Tuple,然后修改一下:class IntTuple(tuple): def __init__(self,iterable): for i in iterable: if isinstance(i,int) ...原创 2019-12-27 23:46:44 · 1378 阅读 · 0 评论 -
python深入类和对象
鸭子类型和多态列表的extend方法:a = [1,2]b = [3,4]c = (5,6)d = {7,8}a.extend(b)print(a)a.extend(c)print(a)a.extend(d)print(a)上述代码输出的是[1,2,3,4][1,2,3,4,5,6][1.2.3.4.5.6.7.8]extend方法添加的可以是list,tuple...原创 2019-12-25 23:27:14 · 221 阅读 · 0 评论