python
文章平均质量分 57
Python 相关笔记
极光雨雨
“芝士”与你分享 ———纳西妲
展开
-
python virtualenv 创建虚拟环境指定python版本,pip 从指定地址下载某个包
这里的venv 为创建这个环境的文件夹名,个人在 windows 上一边就成功了,当然python 本身也提供了代码创建 使用 venv 这个模块。不用了 那么直接删除上面的文件夹即可,但要注意将要删除的虚拟环境必须是处于关闭状态 即执行过上面的 deactivate。可以参考如下,只是没有创建软链接,需要手动创建一下。如果下载过慢可以从国内链接下载 如下从阿里云下载。如果是在linux 上,执行创建报错了,找不到。是python3 的话 换成 pip3。原创 2024-04-28 14:29:43 · 1887 阅读 · 1 评论 -
Linux已安装virtualenv 但还是报 bash: virtualenv: command not found 错误原因及解决
在 linux 上已经安装了python和 virtualenv ,但是直接执行 virtualenv 相关的指令创建虚拟环境还是失败并且报错 bash: virtualenv: command not found。find 后的/user/local为指定的查找路径,可以自行替换 ,会出现很多结果列表 仔细辨认,正确的那一个最后只有 virtualenv 这一个名 没有其他前后缀。最后一段基本是固定的 第一段路径为我们找到的路径。原创 2024-04-26 16:44:25 · 1148 阅读 · 1 评论 -
Python pip 或 pip3指定下载
直接使用 == 完成指定, == 后面即为要指定的版本号。原创 2024-04-26 13:44:20 · 1071 阅读 · 1 评论 -
python 字符串格式化 format 不定长变长多个变量,获取exec 中结果的方式
的方式展示出来的,而参数存放在其他地方,导致我想要还原每一句 sql 原语句时需要将参数通过 format 的方式分别重新塞到sql中 然后输出。格式化自然使用 format 一类的,但是参数的个数不是确定的,这样说明我的 format 部分代码需要动态生成才行,而要生成并执行动态的代码,我想到的是使用 exec() 即我将要执行的语句通过字符串拼接出来,然后使用 exec 执行这一部分代码。自此,format 不定长变长多个变量,获取exec 中结果的方式 已结束。原创 2024-04-23 09:46:41 · 195 阅读 · 0 评论 -
python练习 平年闰年判断,质数判断,指定范围内的素数(质数),阶乘,九九乘法,斐波那契
【代码】python练习 平年闰年判断,质数判断,指定范围内的素数(质数),阶乘,九九乘法,斐波那契。原创 2024-04-22 20:51:42 · 361 阅读 · 0 评论 -
python练习 二数求和,求平方根,计算圆的面积,随机数,摄氏度转华氏摄氏度,判断是否是数字
【代码】python练习 二数求和,求平方根,计算圆的面积,随机数,摄氏度转华氏摄氏度,判断是否是数字。原创 2024-04-22 20:48:45 · 312 阅读 · 0 评论 -
Python 中类的方法上使用 @property
Python中 @property原创 2024-04-19 17:57:02 · 343 阅读 · 0 评论 -
Python __slots__ 作用和意义 以及部分示例
显然无法修改,但是修改其他在 slot 内的是可以的,在实际其他人的使用中也发现,放到 slot 外的属性基本都直接在外部赋值了,后续没有其他操作,用于存放一些不会变的数据。属性,这是一个字典,用于存储实例的所有动态属性(即在类定义之外添加的属性)。中列出的属性,不允许添加其他未声明的属性。执行成功,可以修改成功继承的属性,同时父类 slots 内外的属性都被继承了,但父类slots 外的属性依旧无法修改,会报同样的错误。,而是直接在对象内部分配固定大小的空间来存储指定的属性,从而减少了内存使用。原创 2024-04-19 17:46:43 · 1023 阅读 · 0 评论 -
python 通用repr方法的重写方式以及 class的__dict__ 作用
相当于 Java 中对对象的构造,toString 方法,可以格式化的输出当前对象内的所有属性以及属性对应的值,repr 要求尽可能输出的字符串结果要可以被 eval() 函数直接解析并执行成功从而还原此对象,主要也是用于辅助理解代码,但并不强制要求满足此要求,主要是还是用于理解某一个对象的定义。原创 2024-04-19 11:45:50 · 308 阅读 · 0 评论 -
python中isinstance()作用
它接受两个参数:一个是待检测的对象,另一个是期望的类型(或一个包含多个类型的元组)。函数返回一个布尔值——如果对象的类型与指定的类型相符(或属于指定类型元组中的任何一个),则返回。通过在关键点检查变量或函数参数的类型,开发者可以避免因类型不匹配导致的错误,提高程序的稳定性和容错能力。函数主要用于进行运行时类型检查,确保代码逻辑处理的对象符合预期的类型或行为规范,同时充分考虑了面向对象编程中的继承关系和泛型编程的需求。如果对象是所检查类型的一个子类实例,或者实现了特定的接口(对于抽象基类),原创 2024-04-19 11:06:00 · 766 阅读 · 0 评论 -
python 中 repr 作用
当打印变量、查看交互式 shell(如 IPython 或 Python 解释器)中的对象,或者在调试器中检查对象时,函数主要服务于开发者,用于生成表示对象的精确、可读且尽可能可解析的字符串,便于调试、交流和在编程环境中重现对象状态。对于自定义类,通过实现。函数执行,应当能够得到与原始对象等价的新对象(尽管不是所有情况下都保证可行,特别是对于复杂对象或者包含循环引用的情况)。编写这个特殊方法可以让类按照预期的方式生成其代表字符串,包括包含重要的属性值或其他有助于识别和重建对象的信息。表示该对象的值或状态。原创 2024-04-19 11:00:27 · 462 阅读 · 0 评论 -
python 中 typing 模块主要用途
对于支持类型推断的库和框架(如Jupyter Notebook、IPython、NumPy等),类型注解可以帮助它们更准确地理解用户意图,提供更智能的交互和更高效的执行。类型注解作为一种形式化的文档,可以作为代码的一部分,与代码一起演化,减少了维护单独文档与实际代码同步一致性的负担。模块旨在增强Python代码的类型信息表达能力,支持静态类型检查,提升开发工具的智能化程度,提高代码质量与可维护性,促进团队协作,并更好地与支持类型系统的第三方库和框架集成。类型注解与静态类型检查工具(如。原创 2024-04-19 10:58:38 · 397 阅读 · 0 评论 -
Python练习 List join,判断等,执行字符串内的代码,字典合并,模拟秒表
【代码】Python练习 List join,判断等,执行字符串内的代码,字典合并,模拟秒表。原创 2024-04-18 18:57:40 · 279 阅读 · 0 评论 -
Python练习 输出一个简易日历,递归斐波那契数列,一般文件读写,字符串判断和变形,当前月有多少天,昨日日期
【代码】Python练习 输出一个简易日历,递归斐波那契数列,一般文件读写,字符串判断和变形,当前月有多少天,昨日日期。原创 2024-04-18 18:54:19 · 243 阅读 · 0 评论 -
Python练习 阿姆斯特朗数,斐波那契数列,二,八,十六进制之间的转换,ascii码值转换,最大公约数,最小公倍数
【代码】Python练习 阿姆斯特朗数,斐波那契数列,二,八,十六进制之间的转换,ascii码值转换,最大公约数,最小公倍数。原创 2024-04-18 18:50:36 · 226 阅读 · 0 评论 -
Python 日期格式化,等日期相关操作
【代码】Python 日期格式化,等日期相关操作。原创 2024-04-18 18:13:46 · 239 阅读 · 0 评论 -
Python 类方法注解 @classmethod 作用和意义
但是,将这样的功能封装为类方法可以使代码组织更加清晰,因为它们与对应的类紧密关联,易于查找和理解,同时保持了命名空间的整洁。当需要根据不同的输入参数创建类的不同子类型或特定配置的实例时,可以提供一个或多个类方法作为“工厂方法”。这在需要基于类的状态进行操作时非常有用,例如初始化类的默认值、管理类级别的资源、或者提供一个基于类属性的工厂方法。在Python中主要用于提供与类相关而非特定实例相关的功能,允许直接访问和操作类属性,实现工厂方法以灵活创建实例,以及支持元编程和其他与类级别行为相关的任务。原创 2024-04-18 15:04:55 · 636 阅读 · 0 评论 -
Python 0.1 + 0.2 等于0.30000000000000004 ?0.1 + 0.3 = 0.4?
这个问题涉及到浮点数在计算机中的表示方式,特别是 IEEE 754 浮点数标准。在 Python(以及其他许多编程语言)中,浮点数并不是以精确的十进制形式存储,而是以二进制近似值存储。这种近似可能导致某些看似简单的浮点运算产生看似不精确的结果。总之,浮点数在计算机中的不精确表示是造成您所观察到现象的根本原因。理解这一原理有助于在编写涉及浮点数计算的代码时采取适当的应对措施。实际上,任何涉及浮点数的运算都可能存在类似的问题,特别是在进行比较或需要高精度结果的场景中。原创 2024-04-17 17:33:44 · 911 阅读 · 0 评论 -
Python3 标准库,API文档链接
sys 模块:sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。urllib 模块:urllib 模块提供了访问网页和处理 URL 的功能,包括下载文件、发送 POST 请求、处理 cookies 等。os 模块:os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。time 模块:time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。原创 2024-04-12 18:01:42 · 932 阅读 · 0 评论 -
Python 命名空间和作用域 global 和 nonlocal 关键字
简单说,函数内部定义的变量,外部是没法直接用的,但外部的变量可以传递到某一函数内以供使用,或通过特殊的关键字直接引用外部的变量。简而言之,我们在方法内定义的变量等,当方法执行结束就会消失,相当于一次性使用,下次再使用则重新创建一个临时的变量。模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。局部找不到时会去局部外的局部找(例如闭包),再找不到就会去全局找,还不行就去内置中找。原创 2024-04-12 17:33:06 · 318 阅读 · 0 评论 -
Python中的类(class)面向对象 理解和学习整理,构造方法,私有属性,专有方法
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。python 在设计时也是符合面向对象的原则的,和 Java 类似也存在类的创建,类的成员属性,成员方法,构造函数,类之间的继承等操作。子类虽然继承了父类的方法,但是不能满足子类想要的结果,那么可以在子类中再次重写该方法,最终子类调用时就会走自己的实现了。简单的来一个,一个人的类,有名字,有年龄两个属性。有两个方法或者说函数,一个是吃,一个是喝。原创 2024-04-12 16:27:59 · 1064 阅读 · 0 评论 -
Python 异常和错误机制,assert 学习总结
>> try:')异常的命名一般都以 Error 结尾,与java 不同,当一个模块可能抛出多个异常时,我们通常会封装一个基础的异常,然后再基于这个基础的异常再分出其子异常。原创 2024-04-12 14:25:16 · 337 阅读 · 0 评论 -
Python3 OS 文件目录操作
python3 OS 常用方法原创 2024-04-12 11:20:31 · 525 阅读 · 0 评论 -
Python 输出输入(包含文件 File)以及格式美化的方式 以及 pickle
用于返回文件当前的读/写位置(即文件指针的位置)。f.tell() 返回一个整数,表示文件指针的当前位置。直接使用会读取每一行,返回每一行内容的列表,如果指定了 sizehint 则会按指定长度读取字节,然后分割。如果要改变文件指针当前的位置, 可以使用 f.seek(offset, from_what) 函数。(但是因为这种旧式的格式化最终会从该语言中移除, 所以应该更多的使用 str.format())将字符串内容直接写入到文件中,并返回写的字符数,不是字符串的要先转。打开文件的模式:见下表。原创 2024-04-11 18:03:03 · 976 阅读 · 0 评论 -
python 中 from import, __name__, __all__, __init__.py 作用,python的模块和导入包
由于python 在import * 时会访问文件系统获取 from 后路径下的所有文件但windows平台对于大小写不区分的问题导致不知道要导入同名但不知道大小写是哪个的问题,所以使用了__all__属性来来手动指定精确的模块名。最简单的情况下放一个空的__init__.py就可以,这也是我们使用 pycharm 创建新的 package 时为什么会自动生成一个空的__init__.py的原因。如果包定义文件__init__.py 存在一个叫做__all__的列表变量,那么在使用。原创 2024-04-11 16:26:39 · 362 阅读 · 0 评论 -
python 读取文件内容每一行,写入另一个文件内
想要利用 python 读取指定文件的中的内容,格式自行解析,然后将读取到的内容整理后再写入另一个文件中。原创 2024-04-10 17:26:48 · 909 阅读 · 0 评论 -
Python3 列表,元组,字典 在数据结构方面的使用
不论内部如何写都先看forin的内容,即理解为先对in后的列表中每个元素x做for前的操作并作为一个结果最终放到整个[]中作为一个元素,遍历所有元素后将结果即作为本身推导式的结果集;可以看的出append每次添加元素到列表末尾,pop每次删除最后一个元素并返回,符合堆栈的定义。用于删除变量或者列表中的某一个元素,但是不会和pop一样返回删除的元素。对一个基本列表元素的每个元素做一定的操作最终得到新的结果集。队列,即数据中的元素后进后出,最先进入队列的元素最早出队列。......原创 2022-07-27 18:18:17 · 240 阅读 · 0 评论 -
Python3 匿名函数 lambda表达式
定义python 使用 lambda 来创建匿名函数,即可以不使用关键字 def 来定义函数,lambda表达式 作为一个表达式并不能像一般函数一样可以封装大量的逻辑lambda :lambda 是一个表达式,而不是一个代码块,它拥有自己的命名空间,但不能访问自己参数列表之外或全局命名空间里的参数好处:虽然 lambda 表达式看起来只能写一行,但是却不等同于 C 或 C++ 内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率语法lambda [arg1 [,arg2,.....a原创 2022-01-20 17:04:41 · 334 阅读 · 0 评论 -
Python3.8 强制使用位置参数
在 python3.8 中新增了一个标识符 \ 用来说明 \ 以前参数必须使用正确的入参位置来指定,与 * 后只能使用关键字指定类似,两个符号都仅仅只是说明,并不需要多传入参数例如:>>> def func1(a, /, b, *, c):... print(a, b, c)...>>> func1(1, 2, c=2)1 2 2>>> func1(a=1, b=2, c=3)Traceback (most recent c原创 2022-01-20 16:49:19 · 1288 阅读 · 0 评论 -
Python3 函数定义,常规参数以及不定长参数, return
作用以及语法定义函数的作用大同小异,在这一点上几乎所有语言都是一致的,都是为了对某些特定的功能进行封装,即我们日常生活中使用的各种电器工具等,都是为了达成一定目的而具体设计和生产出来的,那么函数也是为了这样的目的,通过函数具体的设计实现过程,我们可以通过这些方法达成一定的逻辑运算获得结果或者生成文件等等。python3 函数语法def FunctionName(args): 函数体def 关键字即定义(definition)缩写,用于定义函数时放置到前面作为声明,说明接下来要定义函数了原创 2022-01-20 16:38:22 · 1294 阅读 · 0 评论 -
Python3 迭代器与生成器 学习总结
迭代器介绍迭代是访问集合元素的一种方式,是 python 最强大的功能之一。迭代器是一个可以记住遍历的位置的对象,该对象访问时从第一个元素开始访问,类似于Java中的 iterator ,每次都指向下一个元素,不会回退,直到全部访问完。两个基本方法 iter() next()iter() 用于创建迭代器,字符串,列表以及元组都可以作为入参next() 用于获取下一个元素示例:>>> list1 = ["aaa", 'bbb', "ccc", 'ddd'];>原创 2022-01-20 15:03:24 · 213 阅读 · 0 评论 -
Python3 循环控制 for,while,range,break,continue,pass
Python 中使用 for 和 while 实现循环,没有 do while循环条件与C,Java 等基本定义一致,满足条件将反复执行 直到不符合循环条件后跳出循环,继续向下执行While语法while condition1: 满足 condition1 执行的语句示例>>> a = 10;>>> while (a > 0):... print(a, end=",");... a-=1;...10,9,8,7,6,5原创 2022-01-14 15:49:11 · 380 阅读 · 0 评论 -
Python3 条件判断
示例>>> if (a > 0):... print(a, end=" 大于零");... print()... elif (a == 0):... print(a, end=" 等于零");... print()... else:... print("end no")...10 大于零其中 if 后的小括号可以省略,根据 if 后的运算结果为 True 或者 False 时选择执行对应 if 下的代码块或者跳过该判断执原创 2022-01-14 14:20:02 · 734 阅读 · 0 评论 -
Python3 基础练习 斐波那契数列
示例代码:>>> a, b = 0, 1>>> while (b < 100):... print(b, end=", ")... a, b = b, a+b...1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,总结:可以一行内多个赋值,从最后一行可以看出先执行了等号右侧的运算,然后对左边对应赋值,关键字 end, end 添加后在输出时将以end 中的符号结尾,不加时默认换行输出...原创 2022-01-07 17:35:48 · 1430 阅读 · 0 评论 -
Python3 集合Set 常见操作以及方法
集合Set 基础介绍基本介绍见此链接set 集合与 Java类似,不会存在相同的元素,当重复时将只保留一个,存放的元素没有顺序集合创建方式直接使用 { value1, value2 }或者 set(values)注意:set 的 {}中,每个元素使用逗号分割,字典也使用{},但里面存放的为键值对,存在 :(冒号)>>> set1 = {12, 332, 42, "dad", 'dwfvv', 15}>>> set2 = set("das")>>原创 2022-01-07 17:03:01 · 521 阅读 · 0 评论 -
Python3 字典常见操作及方法 遍历技巧
字典的基础介绍见基本数据类型的介绍Python 的字典类似于Java 中的Map, 都属于key value的形式,也类似于同样的 Json结构或者JsonObject的使用。键都是唯一的,但键对应的值没有限制。字典使用 { }包围每一个键值对,每一个键值对之间使用 ’ , ’ 分割,键与值之间使用 :分割例如:>>> dicdict1 = {"key1":"value1", "hehe":"haha", "a":128, 154:"887"}>>> dic原创 2022-01-07 15:34:24 · 838 阅读 · 0 评论 -
Python3 元组常见方法和使用
元组的基础介绍元组的基础介绍见此连接元组与列表是相似的,明显的区别是:元组内数据不可变,发生变化后相当于重新创建,指向地址将会改变使用小括号 (),list使用 中括号[ ]元组的小括号可以省略, 创建空元组时 写法为tuple1 = ()当只有一个元素时,需要携带逗号否则将认为 () 是运算符例:>>> tuple1 = (15)>>> type(tuple1)<class 'int'>>>> tuple2原创 2022-01-07 14:40:53 · 510 阅读 · 0 评论 -
Python3 列表常用方法 堆栈以及队列,列表推导式等
列表基础见基本数据类型 基本数据类型(点击跳转)更新列表增加使用 append(append 为浅拷贝)>>> list1 = ["heh", 1011, True, "yvyv"]>>> list1.append("insert")>>> print(list1)['heh', 1011, True, 'yvyv', 'insert']...原创 2022-01-07 14:05:04 · 334 阅读 · 0 评论 -
Python3 赋值,浅拷贝,深拷贝
假设 两个变量 a 和 b赋值b = a说明将 a 的值赋值给 b 但是,没有创建新的对象,a 和 b 都指向同一个对象,同一个对象的内容自然是一样的。浅拷贝b = a.copy()a 和 b 指向不同的对象,但是最终指向的内容一样。深拷贝需要先导入 copya 和 b 指向不同的对象,而且最终指向也是完全独立的内容,完全分开...原创 2022-01-05 16:56:04 · 59 阅读 · 0 评论 -
Python3 字符串学习总结
基础基础说明见 基本数据类型(点击跳转)字符串运算符+连接字符串例:"hello " + "world"*重复输出字符串例:>>> print("abc" * 2)abcabc[ ]获取索引对应的值例:>>> print("abc"[2])c[ : ]截取字符串中的一部分,遵循左闭右开原则,str1[0:1] 表示从左起第一个开始到第二个,但是不包含第二个字符,具体示例见基本数据类型(点击跳转)in成员运算符,检验字符是否被原创 2022-01-05 16:20:27 · 186 阅读 · 0 评论