Python填坑
Python填坑笔记
沉迷单车的追风少年
CSDN博客专家,CSDN商业化专家,官方内容合作伙伴,官方认证“人工智能领域优质创作者”,入选2023年中国开发者影响力年度榜单。
代表专栏《Diffusion Models与深度学习》、《手把手写深度学习》、《深度学习-计算机视觉》、《手把手写C++服务器》等。
展开
-
解决anaconda占用C盘空间过多问题
anaconda就算安装在其他盘,默认会把索引、锁定文件、压缩包等都放到系统盘(C盘),我用了两年,占用30GB。1. 卸载不用的虚拟环境查看已安装的虚拟环境conda env list卸载不用的、过期的虚拟环境conda remove -n (要卸载的环境的名字) --all2. 删除索引缓存、锁定文件、未使用过的包和tar包conda clean -a 清理完之后,删除了15GB,还剩15GB,舒服了...原创 2021-01-23 16:29:58 · 31964 阅读 · 8 评论 -
编程基础——python函数中计数参数的使用
转载一篇,想在函数中计数,总是忽略函数中形参和实参,必选参数,默认参数等用法,和C语言中有很多微妙的区别,终于弄懂。原文:https://blog.csdn.net/u011304970/article/details/72820836今天在写以下Python代码时出现了问题。该段代码根据一些URL下载视频:#coding=utf-8def save_case_infos(cas...转载 2019-07-25 22:49:14 · 704 阅读 · 0 评论 -
Python基础——构造方法和特殊成员方法
1. 构造方法:当类被实例化时,首先会调用构造方法,构造方法是特殊的方法,名为:__init__,这种用法还是非常好理解、非常常见的。2. 使用super函数。首先阐明超类的概念。父类想象成父辈,那么超类就是爷爷辈以上 super函数用于超类 子类要访问超类中的方法,需要使用super函数,该函数返回的对象代表超类对象,所以访问super函数返回对象中的资源都属于超类 super函数...原创 2019-03-03 22:11:35 · 455 阅读 · 0 评论 -
Python基础——面向对象
学习C语言入门,写了大概一年的嵌入式C,对面向对象对象一开始完全没有概念,现在写了半年多的Python,回首复习一遍Python中面向对象的概念:对象:对象包含若干个属性和方法 属性:可以理解为变量 方法:可以理解为全局函数。方法的第一个参数必须是对象本身,即self 类:类是对象的抽象,class,类实例化后称为对象 多态:将不同类的对象用同一接口访问,不需要管接口后面是哪个对象 ...原创 2019-03-03 16:15:21 · 323 阅读 · 2 评论 -
Python基础——MySQL数据库基本操作
上次介绍了轻型数据库sqlite,这次学习一下著名的关系型数据库MySQL的基础操作通过pip或者conda安装canda install pymysqlpip install --user pymysql记住常用的几种函数和方法,搞定绝大多数的数据库操作对象connec函数:连接数据库,根据所连接的数据库不同,该函数的参数也不同。connect函数返回的是Connec...原创 2019-03-03 15:29:38 · 325 阅读 · 0 评论 -
Python基础——SQLite数据库基本操作
SQLite数据库的官网:https://www.sqlite.org/index.html有很多管理数据库的工具,官方使用命令行进行管理,感觉太麻烦,使用DB Browser进行管理数据库,附上官网:https://sqlitebrowser.org/about/打开后还是中文的,惊喜安装库:pysqlite3在进行对数据库的操作之前,首先要使用函数connect打开数据库...原创 2019-03-03 11:16:20 · 401 阅读 · 0 评论 -
Python基础——多线程之信号量
信号量可以看成是线程锁的加强版信号量相当于一个计数器,和RTOS中任务向量表异曲同工,当资源消耗是递减,当资源释放是递增。也就是说acquire消耗资源减一,release释放资源加一。可以认为信号量代表着资源是否可用。使用信号量首先要创建BoundedSemaphore类的实例,并通过该类的方法传入信号量的最大值实例演示了信号对象的创建,获取资源与释放资源:# ——创建时间...原创 2019-03-03 08:47:37 · 792 阅读 · 0 评论 -
Python基础——线程锁
_thread中为了保证线程不堵塞的方法是创建线程锁,而在Thread中可以使用join来保证线程不阻塞,但是无法进行各个线程之间的信息共享,也无法解决多个线程同时操作某一数据造成脏数据的问题,所以还是用线程锁来解决。创建线程的思路非常清楚,和_thread类似创建Lock实例acquire获取权限release释放权限注意:锁的对象要放在线程函数的外面作为一个全局变量,这样所...原创 2019-03-02 22:39:25 · 378 阅读 · 0 评论 -
Python基础——多线程值从Thread类继承
上一节介绍了封装Thread类的对象https://blog.csdn.net/qq_41895747/article/details/88080140这一次学习一种更常用的封装方法,从Thread派生一个子类,然后将线程有关代码放到此类中这种常规做法非常常见,先看代码:# ——创建时间:2019.3.2——# 多线程import threadingfrom time impo...原创 2019-03-02 22:03:25 · 638 阅读 · 0 评论 -
Python基础——Thread类与线程对象
上一节学习了Thread多线程的创建和管理https://blog.csdn.net/qq_41895747/article/details/88079871这一次学Thread类与线程对象Thread构造方法的target关键字参数不仅仅可以是一个函数,还可以是一个对象,称对象为线程对象。其实线程调用的仍是函数,只是这个函数用对象进行了封装,这样更符合面向对象编程的习惯。创建的类...原创 2019-03-02 19:38:19 · 547 阅读 · 0 评论 -
Python基础——Thread创建管理多线程
Python常用的多线程:_thread(Python2.X是thread),面向过程 threading,比上者更高级,面向对象这节学习Thread多线程,Thread是threading非常重要的一个类_thread()管理线程需要使用锁,创建锁、释放锁、获取锁等操作,是锁的使用比较麻烦,而在Thread当中,只需使用join()来管理,比较方便,使用start()创建。测试代...原创 2019-03-02 19:18:26 · 493 阅读 · 0 评论 -
Python基础——_thread多线程
Python常用的多线程:_thread(Python2.X是thread),面向过程 threading,比上者更高级,面向对象这节先学习_thread(),其实非常简单,使用start_new_thread()开启一个新线程即可,代码如下:# ——创建时间:2019.3.2——# 多线程之基本_threadimport randomimport _thread as th...原创 2019-03-02 17:16:08 · 498 阅读 · 0 评论 -
python基础——线程与进程
线程与进程的共同点:都可以让程序运行进程与线程的区别:进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率...原创 2019-03-02 17:08:52 · 224 阅读 · 0 评论