随笔分类 - python基础
摘要:os模块不仅提供了新建文件、删除文件、查看文件属性的操作功能,还提供了对文件路径的操作功能。但是,对于移动、复制、打包、压缩、解压文件及文件夹等操作,os模块没有提供相关的函数,此时需要用到shutil模块。shutil模块是对os模块中文件操作的补充,是Python自带的关于文件、文件夹、压缩文件
阅读全文
摘要:注意:本文来自 链接 为啥会有上述图片的现象呢?其实是由于float底层存储原理导致,下面听我娓娓道来 第一步:浮点数转换为二进制表示 整数部分,直接转换为二进制,即:`100111` 小数部分,让小数一直乘2,小于1则用结果继续乘,大于1则结果减1继续乘,等于1则结束。 如果小数位是0.25就会比
阅读全文
摘要:在做git下载代码的时候 第一次成功了 我们在更新的时候 想的时候 要是之前已经存在的 我就把原来的删除 但是会报一个权限的错误解决办法如下 from git.repo import Repo import os import sys, stat, errno import shutil path
阅读全文
摘要:什么是虚拟环境? 虚拟环境就是隔离python环境的工具。 为什么需要虚拟环境? 使用虚拟环境的最大的好处是避免环境污染,对项目环境中的依赖进行隔离。 你用过哪些虚拟环境? virtualenv、pipenv 、pyenv、docker 等 安装Virtualenv虚拟环境 安装 virtualen
阅读全文
摘要:word文件分为两种类型 一种是 以doc结尾的 一种是以 docx结尾的 一 以docx结尾的word文件 首先是安装模块 pip install python-docx 使用 from docx import Document path = r"E:\docx.docx" document =
阅读全文
摘要:Python生成随机验证码,需要使用PIL模块. 安装 pip3 install pillow 基本使用 1. 创建图片 from PIL import Image img = Image.new(mode='RGB', size=(120, 30), color=(255, 255, 255))
阅读全文
摘要:class C(object): def __enter__(self): print('jinru') return self def __exit__(self, exc_type, exc_val, exc_tb): print('chuqu') with C() as f: print(f)
阅读全文
摘要:两个队列生成一个栈 想要实现两个队列生成一个栈,需要先了解队列和栈的特性: 队列,先进先出。 栈,后进先出。 使用两个队列生成一个栈的实现思路为: import queue class Stack(object): def __init__(self): self.master_queue = qu
阅读全文
摘要:链表是一个特殊的数据结构,其中每个节点包含自己的数据以及下一个值的引用(指针),链表的逆置就是指将链表下一个值的引用(指针)调换,如下图所示: 链表的节点的结构如下: data为自定义的数据,next为下一个节点的地址 一 构造链表 class Node(object): def __init__(
阅读全文
摘要:近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tuple 是线程安全的。 请参考官方解释: http://docs.python.org/glossary
阅读全文
摘要:首先我们要说是 以引用计数为主 标记清楚和分代回收为辅 接下来分以下几个方面解释 一 引用计数 每个对象内部都维护了一个值,该值记录这此对象被引用的次数,如果次数为0,则Python垃圾回收机制会自动清除此对象。下图是Python源码中引用计数器存储的代码。 引用计数器的获取及代码示例: impor
阅读全文
摘要:方式一 1. pip install virtualenv 2. virtualenv 虚拟环境的名字 3. mac上 source + 虚拟环境的目录/bin/activate win上 直接进入虚拟环境的目录执行下面的命令 activate # 激活 4. 退出 dectivate
阅读全文
摘要:一、迭代器 1 可迭代协议 迭代:就是类似for循环,将某个数据集内的数据可以“一个挨着一个取出来” 可迭代协议: ① 协议内容:内部实现__iter__方法 ② 验证方法:dir()方法。通过dir()方法查看是否含有__iter__方法 ③ __iter__方法的作用:可迭代的数据类型执行__i
阅读全文
摘要:1. 推导式的套路 之前我们已经学习了最简单的列表推导式和生成器表达式,但是除此之外,其实还有字典推导式、集合推导式等等。 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式。 variable = [out_exp_res for out_exp in input_list if o
阅读全文
摘要:python函数-函数初识 1.函数的定义 语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 2.函数的使用原则 先定义后调用 #定义阶段 def foo(): print('from foo') bar() def bar(): print
阅读全文
摘要:python文件操作 一、文件操作 简介: 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作
阅读全文
摘要:python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的元素没有先后之分)如集合{1,2,3}和集合{2,3,1}算作一个集合 注意 集合存在的意义就是去重
阅读全文
摘要:python基础数据类型--字典(dict) 一、字典的定义和特性 定义: {'key1':'value1'} 1.键与值之间用 冒号 ‘:’ 分割 2.项与项之间用 逗号 ‘,’ 分割 特性: 1.字典dict的key必须是不可变数据类型:元组、布尔值、数值、字符串,必须唯一2.字典dict的va
阅读全文
摘要:python基础数据类型--元组(tuple) 一、元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序 元组的创建 tu = (11,22,33,44,55,66) tu = tu
阅读全文
摘要:python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增、删、改、查等操作 一列表的增、删、改、查 1增: 1.1增加到最后 append() li = ['alex','wusir','egon','女神','taibai'] li.app
阅读全文