随笔分类 - Python学习笔记
摘要:一、虚拟环境无法使用问题 修改虚拟环境目录/pyvenv.cfg文件中的路径 建议以下配置全部替换一下 修改虚拟环境目录/scripts/activate.bat文件中** VIRTUAL_ENV参数**的值,改为当前虚拟环境的路径。 另外,项目路径最好不要带中文,否则会导致虚拟环境无法使用(变成使
阅读全文
摘要:文件路径 project1 -dir1 --test1.py -dir2 --test2.text -main.py test1.py from pathlib import Path """ 这样的写法才能保证在windows系统和linux系统都可以找到test2.text文件 因为Path("
阅读全文
摘要:本文主要讲多线程的线程之间的资源共享怎么保持同步。 多线程基础篇见,Python threading实现多线程 基础篇 Python的多线程,只有用于I/O密集型程序时效率才会有明显的提高,如文件/输入输出/socket网络通信/http通讯等待。对于计算密集型程序一般采用多进程,这里不多讲。 一、
阅读全文
摘要:讲多线程前,先要了解什么是进程,什么是线程,已经知道的请略过。 一、进程与线程: 进程是资源分配的最小单位,一个程序至少有一个进程。 线程是程序执行的最小单位,一个进程至少有一个线程。 进程都有自己独立的地址空间,内存,数据栈等,所以进程占用资源多。由于进程的资源独立,所以通讯不方便,只能使用进程间
阅读全文
摘要:## super() 的入门使用 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了。 调用父类同名方法有两种方式: 1、调用未绑定的父类方法 2、使用super函数来调用 先来说下第一种方式:调用未绑定的父类方法。
阅读全文
摘要:python类的实例方法、静态方法和类方法区别及其应用场景 一、先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。 python中self,cls的区别 普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。 如果用了staticmethod,那么就可以无视这个se
阅读全文
摘要:Python 3 → 是函数注释的一部分,表示函数返回值的类型。 def useful_function(x) -> int: # Useful code, using x, here return x 可以通过函数的 annotations 看到。 >>> def useful_function(
阅读全文
摘要:什么是csv 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本) 读csv文件 1、首先导入CSV模板 2、创建一个CSV文件对象 3、打开文件进行读取 # coding:utf-8 im
阅读全文
摘要:python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署。 requirements.txt可以通过pip命令自动生成和安装 生成requirements.txt文件: pip freeze > requirements.txt re
阅读全文
摘要:前言 前面学了装饰器,那么闭包和装饰器有什么区别呢?闭包传递的是变量,而装饰器传递的是函数对象,只是传的参数内容不一样,闭包的概念包含了装饰器,可以说装饰器是闭包的一种,它只是传递函数对象的闭包。 先看一个面试题 先看一个经典的面试题,很有代表性, 运行以下代码会输出什么呢?为什么会是这种结果? d
阅读全文
摘要:前言 python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象。很多python初学者学到面向对象类和方法是一道大坎,那么python中的装饰器是你进入Python高级语法大门的一道坎。 计算函数运行时间 假设你写了几个函数,
阅读全文
摘要:直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 字典浅拷贝实例 实例 1 >>>a = {1: [1,2,3]} 2 >>> b = a.cop
阅读全文
摘要:前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2、代码格式 2.1、缩进 统
阅读全文
摘要:Google Python命名规范 module_name, 模块 package_name, 包 ClassName, 类 method_name, 方法 ExceptionName, 异常 function_name, 函数 GLOBAL_VAR_NAME, 全局变量 instance_var_
阅读全文
摘要:在Python中定义类经常会用到__init__函数(方法),首先需要理解的是,两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。而__init__函数(方法)支持带参数类的初始化,也可为声明该类的属性(类中的变量)。__init__函数(方法)的第一个参数必须为self,后续参数
阅读全文
摘要:1. 输出字符串和数字 1 >>>print("runoob") # 输出字符串 2 runoob 3 >>> print(100) # 输出数字 4 100 5 >>> str = 'runoob' 6 >>> print(str) # 输出变量 7 runoob 8 >>> L = [1,2,'
阅读全文
摘要:1. 变量命名总结: - 1.单下划线开头变量:protected - 2.双下划线开头变量:private - 3.双下划线开头,双下划线结尾:系统内置变量 2. 函数命名总结: - 1.私有方法:小写和一个前导下划线 - 2.特殊方法(魔术方法):小写和两个前导下划线,两个后置下划线 - 3.函
阅读全文
摘要:序列化和反序列化 程序中的对象,如Python中的字典、列表、函数、类等,都是存在内存中的,一旦断电就会消失,不方便传递或存储,所以我们需要将内存中的对象转化为文本或者文件格式,来满足传输和持久化(存储)需求 序列化: 内存对象 -> 文本/文件 反序列化: 文本 -> 内存对象 对象在HTTP中的
阅读全文