
Python基础
文章平均质量分 75
主要整理收集个人面试以及他人面试中遇到的Python问题
豫州刺史
It ain't over till its over
展开
-
报错:AttributeError: ‘str‘ object has no attribute ‘decode‘
在安装tensorflow时,默认安装h5py为3.1.0,而报错是因为你安装的TF不支持过高版本的h5py。原创 2024-01-28 13:29:42 · 974 阅读 · 1 评论 -
Python:isalpha() 和 isalnum() 区别
只有当字符串中包含字母和数字字符时才会返回 True,否则返回 False。(包括字母和其他语言的字符),而不包括数字或其他特殊字符。:isalpha() 方法不接受任何参数。:isalnum() 方法不接受任何参数。isalpha() 只能判断字符串是否。isalnum() 则可以判断字符串。原创 2024-01-06 22:58:09 · 1222 阅读 · 0 评论 -
Python:find() 和index() 的区别
在 Python 中,(list)类型对象中的 index() 方法用于返回指定元素在列表中第一次出现的索引位置。原创 2024-01-06 17:49:58 · 3583 阅读 · 1 评论 -
Python:int(value, base=10)
需要注意的是,当我们将一个字符串以特定的进制转换为整数时,字符串中的字符必须合法,并且符合对应进制的表示规则。否则会引发 ValueError 异常。int(value, base=2) 是 Python 中的一个内置函数,用于将。以指定的进制转换为整数。原创 2024-01-05 17:45:33 · 487 阅读 · 0 评论 -
Python:Sorted()函数的key参数使用
升序排序是通过 key 参数指定了按照 Person 对象的 age 属性进行排序,而降序排序是通过 key 参数指定了按照 Person 对象的 name 属性的第一个字母的 ASCII 值进行排序。接下来,我们定义了一个自定义函数 sort_by_score,该函数的输入参数是一个学生信息,我们将该学生信息的成绩作为排序的关键字。通过将 sort_by_score 函数赋值给 sorted() 函数中的 key 参数,我们就实现了对学生列表按照学生成绩进行降序排序的目的。原创 2024-01-05 17:10:50 · 2465 阅读 · 0 评论 -
Python:正则表达式---贪婪匹配
John 使用了非贪婪匹配,它只匹配到第一个满足条件的 “John” 前面的最小字符串 “my name is John”。通过使用非贪婪匹配,我们可以控制正则表达式尽可能少地匹配字符,从而得到更精确的结果。.* 表示匹配任意数量的任意字符(除换行符外)。贪婪匹配会将尽可能多的字符都作为匹配结果返回。表示非贪婪的匹配任意数量的任意字符。非贪婪匹配会尽可能少地匹配字符以满足匹配规则。如果我们想要匹配 “my” 后面的最小字符串,即。的,它会尽可能多地匹配满足条件的字符。,我们可以使用非贪婪匹配的符号。原创 2023-12-21 10:11:45 · 1168 阅读 · 0 评论 -
Python面经【12】
两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表很长时,使用xrange性能要比range好。当类是新式类时(python3版本中的所有类和python2中主动继承object的类),多继承情况下,在要查找属性不存在时,会按照广度优先方式查找。在python中,unittest是python中的单元测试框架。在子类继承多个父类时,属性查找方式分深度优先和广度优先两种。原创 2023-12-21 09:51:48 · 462 阅读 · 0 评论 -
数据结构【3】:数组 VS 列表
是Python中基础的数据类型,不用引入任何库包,直接使用**方括号[ ]**创建即可(例如:a=[‘优快云’,‘123’]);数组的建立需要先导入库numpy,其中最简单的建立方式就是利用numpy库中的array函数。原创 2023-12-20 10:16:14 · 654 阅读 · 0 评论 -
数据结构【2】:列表专题
在Python中,列表是一种有序、可变、允许重复元素的数据结构。它是由一组元素组成的,这些元素可以是不同数据类型的对象,包括数字、字符串、布尔值、其他列表,甚至是自定义对象。列表是用方括号[]括起来的,元素之间用逗号分隔。原创 2023-12-19 19:00:09 · 473 阅读 · 0 评论 -
数据结构【1】:数组专题
数组是编程中一种强大的数据结构,它允许您存储和操作的集合。在 Python 中,数组是通过数组模块创建的,该模块提供了一个简单的接口来创建、操作和处理数组。原创 2023-12-18 10:09:39 · 409 阅读 · 0 评论 -
List:append 和 extend 区别联系
append 方法用于向列表末尾添加一个元素或一个列表(作为一个单一元素extend 方法用于将一个可迭代对象中的所有元素逐个添加到列表末尾。原创 2023-12-17 17:35:49 · 157 阅读 · 0 评论 -
Leetcode.75 颜色分类【荷兰国旗问题】
荷兰国旗问题是一个经典的计算机科学问题,它来源于荷兰国旗的颜色分布,荷兰国旗自上而下由红、白、蓝三个水平条组成。在算法领域,这个问题通常用于描述一种分类问题,其中元素只有三种类型(通常用三种颜色来表示),目标是在线性时间内对这些元素进行排序。最著名的解决荷兰国旗问题的算法是由艾兹赫尔·戴克斯特拉提出的三向切分快速排序中的一部分。这个算法将数组分成三个部分:红色的、白色的和蓝色的,使得同颜色的元素聚在一起。原创 2023-12-12 10:56:14 · 283 阅读 · 0 评论 -
Python:pipdeptree 语法介绍
是一个 Python 包,用于查看已安装的 pip 包及其依赖关系。它以树形结构展示包之间的依赖关系,帮助开发者理解和管理项目的依赖。原创 2023-12-14 22:34:12 · 1673 阅读 · 0 评论 -
error occurred during configuration: option format: invalid choice: ‘columnsno-cache-dir = true‘
执行。原创 2023-12-14 16:58:09 · 231 阅读 · 0 评论 -
经典深度学习算法【1】:K-近邻算法(KNN)概述
KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数。最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练对象匹配,导致一个训练对象被分到了多个类的问题,基于这些问题呢,就产生了KNN。原创 2023-12-14 14:24:14 · 169 阅读 · 0 评论 -
Python面经【11】- Python可迭代对象一网打尽专题
装饰器本质上是还是一个函数,它可以让已有函数不做任何改动的情况下增加功能。装饰器允许通过将现有函数传递给装饰器,从而向现有函数添加一些额外的功能,该装饰器将执行现有函数的功能和添加的额外功能。能把被装饰的函数替换成其他函数装饰器在加载模块时立即执行2.4. def inner(*args, **kwargs): # 这里的*args和**kwargs用来接收被装饰的函数的参数5. """函数注释:用来修饰被装饰函数的内嵌函数"""原创 2023-12-14 14:08:41 · 311 阅读 · 0 评论 -
Python 字典:dic = {} 和 dic = defaultdict(list)之间的区别
为 name 创建一个新条目,并初始化一个空列表。这避免了我们需要手动检查 name 是否已经存在于字典中。假设我们有一组数据,包含多个姓名和与每个姓名关联的一些数字。我们的目标是创建一个字典,其中每个姓名都映射到一个包含所有相关数字的列表。在这个例子中,当我们添加一个元组 (name, number) 到 names_dict 时,如果 name 还。为这个键创建一个空列表,然后才能追加 number。使用普通字典时,我们必须首先检查 name 是否已经存在于字典中。字典中,defaultdict 会。原创 2023-12-10 21:44:56 · 704 阅读 · 0 评论 -
Python面经【10】- Python内存管理机制专题
计数器反应的是该对象被引用的次数,一旦这个计数器为0,代表没有变量引用该对象,该对象的内存空间就会自动回收。因为垃圾回收机制每次回收内存,都需要将所有的对象引用计数都遍历一遍,这是非常耗时的,所以在历经多次扫描的情况下,都没有被回收的变量,垃圾回收机制就会将他们按等级划分,垃圾回收机制就会认为该变量是常用的变量,对其的扫描频率就会降低。如果两个对象的引用计数都为 1,但是仅仅存在他们之间的循环引用,那么这两个对象都是需要被回收的,也就是说,它们的引用计数虽然表现为非 0,但实际上有效的引用计数为 0。原创 2023-12-13 10:27:26 · 192 阅读 · 0 评论 -
Python面经【9】- Python设计模式专题-下卷
上面的简单工厂我们知道了,如果新增一些类型的时候会违背软件设计中的开闭原则,但是我们希望再扩展新类时,不要修改原来的代码,这个时候我们可以在简单工厂的基础上把SimpleFactory抽象成不同的工厂,每个工厂对应生成自己的产品,这就是工厂方法。(1) 简单工厂:简单工厂并不是一个真正的设计模式,更像是一种编程习惯,它通过一个单独的类来创建实例,这个类通常包含一个静态方法,根据对不同的输入参数返回不同的对象;建造者模式用于将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。原创 2023-12-12 08:50:01 · 330 阅读 · 0 评论 -
Python面经【8】- Python设计模式专题-上卷
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。原创 2023-12-11 21:30:00 · 295 阅读 · 0 评论 -
WARNING: Ignoring invalid distribution -illow (d:\software\anaconda3\envs\py3.8\lib\site-packages)
开头的文件夹一般是安全的,不会对正常的Python环境造成影响。总结:在碰到这样的警报,发现~开头的文件夹和当前的安装包版本不一致的,基本应该是两个版本的安装包同时出现,可能出现了一些问题,删除或者换个位置就好了。了解到这些~开头的文件夹都是一些老版本的安装包,为了安全其间,我并没有删除,而是在当前目录新建了一个文件夹,将这些老版本的文件夹都剪切过去,于是进入目标文件夹,发现有两个版本的~开头的文件夹,且都不是当前的版本,我当前的版本是10.1.0."开头的文件夹,而不是其他重要的文件或文件夹。原创 2023-12-06 15:49:30 · 1141 阅读 · 0 评论 -
Python面经【7】
except是Python中异常处理的关键字之一,用于捕获和处理异常。当可能出现异常的代码块被包裹在try语句中时,except语句用于定义处理异常的逻辑。使用except关键字可以捕获特定类型的异常,并在异常发生时执行相应的异常处理代码块。捕获单个异常类型捕获多个异常类型捕获所有异常捕获异常并访问异常对象捕获指定异常及其附加的数据会继续处理finally中代码;用raise方法可以抛出自定义异常。原创 2023-11-30 00:30:00 · 97 阅读 · 0 评论 -
Python面经【5】
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。解释性语言在运行程序的时候才会进行翻译。编译性语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。原创 2023-11-28 21:45:00 · 96 阅读 · 0 评论 -
Python面经【4】
闭包指的是在函数内部定义了另一个函数,并返回了这个作为函数的对象,同时还保存了外层函数的状态信息。这个内部函数可以引用外层函数的变量和参数,而且外层函数返回的是这个内部函数的引用。这种在函数内部定义函数并返回的方式称为闭包。原创 2023-11-27 19:45:00 · 74 阅读 · 0 评论 -
Python面经【3】
装饰器本质上是还是一个函数,它可以让已有函数不做任何改动的情况下增加功能。装饰器允许通过将现有函数传递给装饰器,从而向现有函数添加一些额外的功能,该装饰器将执行现有函数的功能和添加的额外功能。原创 2023-11-26 21:45:00 · 118 阅读 · 0 评论 -
Python面经【6】
在python中,自省机制是指在运行时能够检查对象的类型和属性,以及执行相关操作的能力。它允许程序在运行时获取有关对象的信息,而无需在编码阶段提前知道这些信息。type():用于获取对象的类型。例如,type(5)返回,表示5是一个整数对象。dir():返回对象的属性和方法列表。例如,dir(list)返回一个列表对象的所有属性和方法。getattr()函数:根据属性名获取对象的属性值。如果对象不存在该属性,可以提供一个默认值作为参数。hasattr()函数:检查对象是否具有指定的属性。原创 2023-11-29 00:15:00 · 192 阅读 · 0 评论 -
Python面经【2】
一、赋值、浅拷贝和深拷贝的区别在python中,对象的赋值就是简单的对象引用。在上述情况下,a和b是一样的,它们指向同一片内存,b不过是a的,是引用。赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了对象的引用。也就是说除了b这个名字之外,没有其他的内存开销。修改了a,也就影响了b,同理,修改了b,也就影响力a。原创 2023-11-25 21:30:00 · 114 阅读 · 0 评论 -
Python面经【1】
协程(又称微线程)运行在线程之上,更加轻量级,协程并没有增加线程总数,只是在线程的基础上通过分时复用的方式运行多个协程,大大提高工程效率。原创 2023-11-23 23:54:44 · 214 阅读 · 0 评论