
python知识学习
文章平均质量分 57
写一些python面试题和python知识学习
Long韵韵
韵韵韵韵
展开
-
python中实现多进程
实现多线程可以使用threading模块。threading模块提供了一些基本的功能,方便我们创建和管理线程。通过继承threading。Thread 类并重写其run 方法,或者直接使用线程对象的构造时提供的target函数,都能实现多线程。Done.thread1用于执行函数,thread2用于执行函数。接下来的操作就是启动线程并等待线程结束。原创 2025-01-12 13:00:02 · 276 阅读 · 0 评论 -
python中的random
random模块提供了多种生成随机数、随机乱序和随机抽样的方法。1)我们可以使用random()方法生成一个[0.0,1.0)范围内的随机浮点数;使用方法生成一个范围在[a, b]之间的随机整数。2)你可以使用shuffle()方法对列表中的元素进行就地打乱。3)以使用方法从一个数据集population中取k个随机且不重复的元素。原创 2025-01-11 12:02:21 · 278 阅读 · 0 评论 -
python文本转语音
不过似乎这个库里面很多语音不支持中文,所以要改变声音的话还是算了,默认的声音说中文也还行。播放单词 - 任务名: 罗佳韵天下第一好, 单词位置: 0, 单词长度: 8。语音任务结束 - 任务名: None, 是否完成: True。pyttsx3 模块支持两种声音,一是女声,二是男声。是 Python 中的文本到语音转换库。下面还有很多,都一样我就不复制粘贴了。开始播放语音任务: None。原创 2025-01-09 18:02:50 · 468 阅读 · 0 评论 -
类和对象的区别
• 定义类时使用关键字。原创 2025-01-09 16:12:12 · 179 阅读 · 0 评论 -
*arg和**kwargs的区别和作用
在Python函数中,*args和**kwargs提供了一种灵活的方式来处理任意数量的未命名和命名参数。1)*args用于将多个未命名参数作为一个元组传递给函数。具体来说,你可以传入任意数量的位置参数,而这些参数会被收集到一个元组中供函数使用。2)**kwargs用于将多个关键字参数(即有命名的参数)作为一个字典传递给函数。你可以传入任意数量的关键字参数,这些参数会被收集到一个字典中供函数使用。原创 2025-01-09 15:52:23 · 252 阅读 · 0 评论 -
python的魔术方法
在 Python 中,(Magic Methods),也称为(Dunder Methods),是一些以双下划线开头和结尾的方法。这些方法让用户可以定义对象的行为,并在特定的情况下被自动调用。常见的魔术方法包括:1)__init__:构造函数,在创建对象时调用。2)__del__:析构函数,在对象被删除时调用。3)__str__:定义对象的字符串表示,用于print()或str()。4)__repr__:定义对象的官方字符串表示,用于repr()函数。5)__eq__:定义对象相等性比较,处理==原创 2025-01-09 11:16:48 · 256 阅读 · 0 评论 -
为什么python没有函数重载
Python没有(Function Overloading),因为它的函数可以通过默认参数、*args**kwargs等特性来实现同样的功能。Python是动态类型语言,函数的行为可以根据传入的参数类型和数量灵活调整。原创 2025-01-09 10:22:31 · 330 阅读 · 0 评论 -
迭代器和生成器的区别
迭代器(Iterator)和生成器(Generator)在Python中都是用于遍历数据结构的工具,但它们有一些明显的区别:1)迭代器是一个对象,实现了__iter__()和__next__()方法,可以用iter()和next()函数来迭代。2)生成器是一种特殊类型的迭代器,它是通过函数来生成的,并且用yield 关键字来产出值,每次调用__next__()方法时,函数会暂停并保存当前的运行状态(局部变量、指令指针等),下次迭代时从暂停的位置继续执行。原创 2025-01-08 22:55:00 · 207 阅读 · 0 评论 -
python的生成器
生成器是 Python 中的一种特殊类型的迭代器,它允许你在迭代过程中逐渐生成值,而不是一次性生成所有的值。生成器由函数创建,这些函数使用yield关键字而不是 return 来返回值。原创 2025-01-08 22:29:01 · 313 阅读 · 0 评论 -
python中filter函数
Python 中的filter函数用于根据特定的条件筛选序列中的元素。它接收两个参数:一个函数和一个序列,然后将序列中的每个元素传递给该函数并保留返回值为True的元素。最终返回一个过滤后的迭代器。在这个示例中,我们定义了一个函数is_even,该函数判断一个数是否是偶数。然后,我们使用filter函数筛选列表numbers中的偶数,最后将过滤结果转成列表并打印出来。原创 2025-01-08 10:48:02 · 310 阅读 · 0 评论 -
Map函数的作用
Map 函数在 Python 中是一种内置函数,主要作用是方便地对一个可迭代对象(如列表、元组等)中的每个元素应用一个指定的函数。它返回一个map对象,这是一个迭代器,可以使用list()函数将其转换为列表。原创 2025-01-04 22:36:10 · 217 阅读 · 0 评论 -
处理Excel电子表格
Excel是Windows环境下流行的、强大的电子表格应用。无论是在工作中还是学习中我们都几乎在不间断的使用Excel来记录或者处理一些数据。例如,可能有一个无聊的任务,需要从一个电子表格拷贝一些数据,粘贴到另一个电子表格中。或者可能需要从几千行中挑选几行,根据某种条件稍作修改。或者需要查看几百份部门预算电子表格,寻找其中的指定内容。正是这种无聊无脑的电子表格任务,如果让人工来手动完成,则无论是时间升本还是精力成本都不是一件好事情,但是可以通过 Python 来完成。python处理Excel的方式。原创 2025-01-04 20:33:10 · 867 阅读 · 0 评论 -
python的垃圾回收
对于上述代码会发现,执⾏del操作之后,没有变量再会去使⽤那两个列表对象,但由于循环引⽤的问题,他们的引⽤计数器不为0,所以他们的状态:永远不会被使⽤、也不会被销毁。:对标记清除中的链表进⾏优化,将那些可能存在循引⽤的对象拆分到3个链表,链表称为:0/1/2三代,每代都可以存储对象和阈值,当达到阈值时,就会对相应的链表中的每个对象做⼀次扫描,除循环引⽤各⾃减1并且销毁引⽤计数器为0的对象。·1代,count表示0代链表扫描的次数,threshold表示0代链表扫描的次数阈值,超过则执⾏⼀次1代扫描检查。原创 2025-01-03 17:00:20 · 1096 阅读 · 0 评论 -
iterables和iterators
在Python 中, 和 是两个常见的概念。简单来说:1) iterable 是一种可以被迭代的对象,比如列表、元组、字符串等。通过调用 方法,可以得到它的迭代器。2) iterator 是一个对象,它实现了迭代协议(有和方法)。 可以从 中逐个读取元素。打个比方, 就像一本书,而 就像一个书签,它可以用来记住我们读到哪一页了。1) Iterable• 可迭代对象,如列表、元组、字符串、字典、集合等。• 这些对象实现了方法,返回一个。• 可以直接使用 for 循环进行遍历。2) Iterator• 迭原创 2025-01-03 12:24:53 · 277 阅读 · 0 评论 -
python中实现switch
在 Python 中没有直接的switch语句,通常我们用结构或字典映射来实现类似switch的功能。原创 2025-01-03 12:02:18 · 826 阅读 · 0 评论 -
python中的元类
⽤模块、框架实现业务功能,作为扩展的知识点。对象是基础类创建的。问题:类是谁创建的?答案:类是由type创建。456777123666123666类默认是以type创建,怎么让一个类的创建改成其他的东⻄(元类)。MyType的newMyType的initFoo的initalex。原创 2025-01-02 19:15:24 · 170 阅读 · 0 评论 -
python中del_pop_remove
removedel和pop都是用于删除列表元素的,但它们的用法和功能有所不同:1):从列表中删除第一个匹配到的项。注意,如果项不存在,会抛出ValueError。2)del:可以用于删除列表中的一个或多个元素,也可以用于删除变量。语法是或它不会返回被删除的元素。3):默认删除并返回列表中的最后一项。如果指定索引,则删除并返回指定索引的项。如果索引不存在,会抛出 IndexError。原创 2025-01-02 11:59:50 · 161 阅读 · 0 评论 -
python中break_continue_pass
在 Python 中,breakcontinue和pass都是控制语句,用于控制循环和流程。1)break:用于终止当前循环。当break语句被执行时,程序将跳出当前的循环语句,继续执行循环之后的代码。2)continue:用于跳过当前循环中的剩余语句,并继续下次循环。当continue语句被执行时,程序将跳过当前循环的其余部分,直接开始下一次循环。3)pass:是一个空语句,用作占位符。如果你在代码块中暂时不想写任何代码,可以使用pass来占位,使代码结构合法且不报错。原创 2025-01-02 11:56:17 · 309 阅读 · 0 评论 -
python中append_extend_insert
在 Python 中,appendinsert和extend都是用于列表(list)操作的方法。它们的区别在于:1)append:将一个元素添加到列表的末尾。2)insert:在指定的位置插入一个元素。3)extend:将另一个列表中的所有元素添加到当前列表的末尾。原创 2025-01-02 10:14:02 · 260 阅读 · 0 评论 -
PDF批量转word和txt
已经获取到了大量的pdf在download文件夹中。原创 2025-01-01 23:18:13 · 242 阅读 · 0 评论 -
python中获取字典中所有的键
我们可以使用字典的keys()方法来获取字典的所有键。在 Python 中,这个方法会返回一个包含字典所有键的“视图对象(view object)”。原创 2025-01-01 22:53:04 · 388 阅读 · 0 评论 -
python元组的解封装
元组的解封装实际上是 Python 中很常用的一种操作方式。除了基本的赋值操作外,解封装还可以在函数返回多个值时使用。Python 元组的解封装(tuple unpacking)是将一个元组的多个元素分别赋值给对应数量的变量的操作。举个例子,如果有一个含有四个元素的元组。运算符将多余的元素打包到一个列表中。返回了一个含有两个元素的元组,我们通过元组解封装将这两个值赋值给。这是用元组解封装来交换两个变量值的经典案例。这种形式将元组中的每个元素分别赋给变量。列表中获取一个元组,并将其解封装到。原创 2025-01-01 22:52:30 · 263 阅读 · 0 评论 -
python面向对象
4狗狂吠狗咬人TrueFalse鸟飞翔。原创 2025-01-01 08:39:46 · 819 阅读 · 0 评论 -
Python画图中中文不显示的问题解决
我们在使用数据分析三件套进行绘图的时候,可能会出现图片中的中文文字无法显示的问题,这个时候只需要在代码开始处添加以下两行代码即可。原创 2024-12-30 09:38:01 · 1351 阅读 · 0 评论 -
python中使用多进制
在 Python 中,多进制数字即是非十进制数字,包括二进制、八进制和十六进制。使用这些进制的表示方法如下:1)二进制:通过前缀“Ob”或“0B” 表示,例如0b1010表示二进制的 1010,等于十进制的 10。2)八进制:通过前缀“0o”或“0O”表示,例如0o12表示八进制的12,等于十进制的10。3)十六进制:通过前缀“0x”或“0X”表示,例如0xA表示十六进制的A,等于十进制的10。原创 2024-12-30 09:15:07 · 334 阅读 · 0 评论 -
python中yield的用法
yield是用于生成器(generator)的一种关键字。与return类似,它可以从函数返回值,但不同的是,yield返回的值可以在下次函数调用时继续执行,而不是退出函数。因此,yield的主要目的是使一个函数变成一个生成器,可以逐步迭代处理大数据或流数据,而不用一次性地占用大量内存。原创 2024-12-29 22:56:39 · 704 阅读 · 0 评论 -
python中字典的用法
Python 的字典是一种可变、无序、键值对的数据结构。它允许我们通过键快速查找对应的值,键必须是唯一且不可变的(比如字符串、数字、元组等),而值可以是任意的 Python 对象(例如字符串、数字、列表,甚至是另一个字典)。原创 2024-12-29 22:52:28 · 170 阅读 · 0 评论 -
python中装饰器的用法
在Python中,装饰器是一种,在不需要改变其本身的代码的情况下,来修改或增强函数、方法或类的功能。装饰器本质上是,它接受一个函数作为参数并返回一个新的函数。原创 2024-12-29 22:43:52 · 253 阅读 · 0 评论 -
python中的三元表达式
Python 中的三元表达式允许我们在一行代码中编写简单的条件判断,可以简洁地将一个条件操作的结果赋值给一个变量。原创 2024-12-29 22:43:15 · 341 阅读 · 0 评论 -
python中的闭包
(Closure)是 Python中的一种独特的函数机制。简而言之,闭包是指在一个内部函数中,引用了外部函数的变量,而这个外部函数已经执行完毕并返回了内部函数,然而内部函数仍然可以访问这些外部函数中的变量。原创 2024-12-29 22:39:16 · 517 阅读 · 0 评论 -
python中标识符的表示
例如,避免使用 1ist,str 这样的名字作为标识符,因为它们会遮蔽原有的。不过为了代码的跨国性和维护性,通常我们更倾向于使用英文命名。):用于避免子类覆盖,具体来说是使变量名在类内部进行名称改写(Name Mangling)。):这些是魔术方法或特殊变量名,Python 有其特定的用途,通常不建议自定义命名。1)标识符只能包含字母(大写或小写)、数字和下划线(_),但不能以数字开头。):通常用于表示变量是私有的,不应从模块外访问。),类名应使用首字母大写的驼峰命名法(3)标识符是区分大小写的。原创 2024-12-29 22:38:44 · 384 阅读 · 0 评论 -
Python面向对象中的继承特点
在 Python 的面向对象编程(OOP)中,继承是一个非常重要的特点。继承允许一个类(子类)从另一个类(父类)继承属性和方法,从而实现代码复用和扩展。在继承中, 子类可以继承父类的所有属性和方法,并且可以对继承的方法进行重写以适应不同场景。关键要点:1、子类继承父类的属性和方法。2、子类可以重写父类的方法。3、支持多重继承,一个子类可以有多个父类。4、使用super()调用父类的方法和属性。1)•单继承:子类只能继承一个父类。这是最简单的继承关系。原创 2024-12-29 22:37:38 · 659 阅读 · 0 评论 -
python中的help函数和dir函数
help()函数和dir()函数是两个非常有用的内置函数,主要用于帮助开发者了解对象的详细信息以及对象的属性和方法。help()• 主要用于查看对象(函数、模块、类等)的详细文档说明。,比如会输出 print 函数的用法和说明。dir()• 主要用于查看对象的属性和方法列表。,比如dir(str)会输出字符串对象的属性和方法列表。原创 2024-12-29 22:36:59 · 363 阅读 · 0 评论 -
Python 中join()和 split()函数有什么区别?
join()和split()函数是字符串操作中常用的两个方法,它们的主要区别如下:1)split()是一个字符串方法,用于将字符串按指定的分隔符分割成列表。2)join()是一个字符串方法,用于将列表中的元素连接成一个字符串,以指定的分隔符连接。简单来说,split()是从字符串到列表,而join()是从列表到字符串。原创 2024-12-27 19:53:42 · 354 阅读 · 0 评论 -
Python3 中is和==有什么区别?
在 Python 中,is和==这两个操作符均用于比较对象是否相等,注意“相同”和“相等”是不一样的,而且它们的用途和工作方式不同。1)is是用来判断两个变量是否引用了同一个对象,它看的是对象的内存地址。简而言之,is关注的是“身份”。2)==是用来判断两个对象是否具有相同的值,换句话说,==关注的是“内容”。原创 2024-12-27 18:51:01 · 255 阅读 · 0 评论 -
Python 中 any()和 all()方法有什么作用?
any()函数用于判断:给定的可迭代对象是否至少有一个元素为True(或真值)。如果可迭代对象为空,返回False。any()函数在遍历可迭代对象时,只要找到一个True值就立即返回True,不再继续遍历剩余的元素。原创 2024-12-27 17:10:48 · 157 阅读 · 0 评论 -
Python 中 read、readline、readlines 有哪些区别?
在 Python中,read()readline()和方法用于从文件中读取内容,它们有不同的用途和返回类型:1)read()•功能:一次性读取整个文件内容,如果指定size,则读取指定的字节数。•返回:一个字符串,包含整个文件的内容或指定的字节内容。2)readline()•功能:读取文件中的一行内容,读取完成后,文件指针会移动到下一行。•返回:一个字符串,该字符串代表文件中的一行内容。3)•功能:一次性读取文件中所有行,并把它们作为字符串列表返回。原创 2024-12-27 16:58:02 · 403 阅读 · 0 评论 -
解释型语言 Python 和编译型语言有什么区别?
作为一种,不同于编译型语言,其主要区别在于代码执行方式。解释型语言在执行程序时通过解释器逐行将代码转换为机器语言,并立刻执行;而编译型语言在执行之前需要经过编译器将整个代码文件编译为机器语言的可执行文件,然后再执行。下面是它们的主要区别:1)(如Python):执行时逐行编译,通常无需编译步骤。2)(如C++):在运行前整个程序都需要编译成机器码,产生可执行文件。3):解释型语言在运行时发现错误,而编译型语言在编译阶段就能找到大部分错误。4)原创 2024-12-27 16:47:42 · 403 阅读 · 0 评论