- 博客(109)
- 资源 (3)
- 收藏
- 关注
原创 pyhton基础【35】并发编程
并发编程在Python中是一个强大且复杂的主题,选择合适的并发模型可以大大提高程序的性能、效率和用户体验Python中的协程是一种用于编写异步代码的技术。在过去,写异步代码通常意味着使用回调、事件循环等复杂且难以理解的模式。Python引入了协程(coroutines)作为一种更直观、更易于理解和使用的解决方案。协程让编写非阻塞代码变得更加简单,尤其是在处理I/O密集型应用时Python的协程是异步编程的强大工具,它们使得编写高效、非阻塞的代码变得简单。
2025-10-07 08:57:20
792
原创 pyhton基础【33】异常处理
异常是程序运行时发生的错误。>>>防止程序崩溃提供错误信息并修正bug允许程序有序结束或恢复尽管内建异常类包括大部分异常,而且可以满足很多要求,但有时还是要创建自己的异常类。比如需要精确知道问题的根源,就需要使用自定义异常精确定位问题。可以通过创建一个新exception类拥有自己的异常。异常应该继承自Exception类,可以直接继承,也可以间接继承。
2025-10-06 07:38:27
284
原创 pyhton基础【32】装饰器
装饰器是Python的一个非常强大而又灵活的功能,它允许程序员在不修改原始函数或类代码的情况下,为函数或类增加新的功能。装饰器实际上是一个函数,它接收一个函数作为参数并返回一个新的函数。使用装饰器可以在代码执行过程中动态地增加功能,这使得装饰器在很多情况下非常有用。增加函数功能代码复用权限校验缓存与延迟计算参数类型检查。
2025-10-03 12:19:16
851
原创 pyhton基础【31】闭包
闭包定义是在函数内再嵌套函数闭包是可以访问另一个函数局部作用域中变量的函数闭包可以读取另外一个函数内部的变量闭包可以让参数和变量不会被垃圾回收机制回收,始终保持在内存中(而普通的函数调用结束后会被Python解释器自动释放局部变量)
2025-10-03 10:57:52
426
原创 pyhton基础【30】生成器
生成器是一种特殊的迭代器,内部支持了生成器协议,不需要明确定义__iter__()和__next__()方法。生成器通过生成器函数产生,生成器函数可以通过常规的def语句来定义,但是不用return返回,而是用yield一次返回一个结果。
2025-10-03 08:41:30
919
原创 pyhton基础【29】迭代器
迭代器是一个可以记住遍历的位置的对象。迭代器对象从第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象的本质分析可迭代对象进行迭代的过程,发现每迭代一次(即在中每循环一次)都会返回对象中的下一条数据,一直向后读取数据直到迭代了所有数据后结束。那么,在这个过程中就应该有一个人去记录每次访问到了第几条数据,以便每次迭代都可以返回下一条数据。我们把这个能帮助我们进行数据迭代的人称为迭代器(Iterator)。
2025-08-09 14:18:56
530
原创 pyhton基础【28】三器一闭
简单来说,如果一个函数返回了一个内部函数,并且这个内部函数引用了外部函数的变量,那么这个内部函数就是一个闭包。概述:迭代器是一个实现了迭代器协议的对象,即包含__iter__()和__next__()方法。它用于遍历容器中的元素,每次使用next()访问容器中的下一个元素。概述:装饰器是一种设计模式,用于为函数或方法动态增加额外功能,不修改原有函数定义的情况下,通过前置或后置代码增强功能。每个概念都是为了解决特定的问题而存在,理解它们的工作机制和适用场景,可以帮助你编写更高效、更易维护的Python代码。
2025-08-09 08:55:37
199
原创 pyhton基础【27】课后拓展
动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言。例如:新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。例如Python便是一个动态语言,除此之外如 PHP 、 Ruby 、 JavaScript 等也都属于动态语言,而 C语言 、C++ 等语言则不属于动态语言。Python可以在运行的过程中,修改程序的运行结构,例如可以修改调用的函数等。
2025-07-20 20:07:02
935
原创 pyhton基础【26】面向对象知识点复习汇总
对于__init__方法我们必须知道的是:构造方法不是我们创建出来的,这个方法在object基类中已经实现(object类是所有类的父类,也被称之为基类,在Python3中的类都默认继承了这个基类,至于什么是继承,在下面的内容中会进行讲解。但是实例属性与实例对象是绑定关系,每个实例对象都有自己的实例属性,并且多个实例对象中的实例属性是相互隔离的。如果一个子类中继承了一个父类,但是父类中的方法不能满足与当前的业务需求,那么我们就可以在子类中创建一个与父类同名的方法进行方法覆盖,这样的代码行为我们称之为重写。
2025-07-13 15:18:45
735
原创 pyhton基础【25】面向对象进阶六
_new__方法的主要功能是创建一个类的实例,在类的实例化过程中被调用,所以一般将__new__方法称之为初始化方法。__new__方法要先于__init__方法执行。
2025-07-07 23:03:58
255
原创 pyhton基础【22】面向对象进阶三
我们知道一个子类如果继承了父类,那么当通过子类对象去调用一个方法时,如果子类对象中没有此方法,那么就会到继承的父类中查询,如果查询到有则进行调用。但是有时候我们发现子类继承的父类的方法不能百分之百满足子类对象的需求。则此时就需要在子类中定义一个与父类相同的名字的方法,此时子类对象调用这个方法时即使父类中有,但依然不会调用,而是调用子类中的方法。
2025-07-06 16:56:33
359
原创 pyhton基础【21】面向对象进阶二
继承:通俗的说就是不劳而获,不需要付出一下子什么都有了。Python中也有继承这个功能,它能够实现在一个类中可以使用另外一个类中的代码。在开发较大的项目时,往往需要多个类实现,当我们定义一个新类时如果这个新的类的功能与之前某个类功能很类似,此时通过使用继承可以让新类不用写代码或者写很少的代码,就实现了想要的所有功能,这样一来编写的代码少了也就提高了开发效率。
2025-07-06 00:08:49
624
原创 pyhton基础【20】面向对象进阶一
抽象基类是一种定义了一组方法和属性的基类,但至少有一个方法是抽象的。即:该方法没有实现,仅有声明。使用模块abc和装饰器@abstractmethod来定义抽象方法。
2025-07-05 20:44:47
713
原创 pyhton基础【19】面向对象基础二
定义类格式如下class 类名:方法列表示例:class Hero: # 类名def info(self): # 方法print("英雄各有见,何必问出处。")类名的命名规则按照大驼峰命名法。info 是一个实例方法,第一个参数一般是self,表示实例对象本身,当然了可以将self换为其它的名字,其作用是一个变量,这个变量指向了实例对象。创建对象Python中,可以根据已经定义的类创建出一个或多个对象变量名 = 类名()示例:"""
2025-07-03 00:37:19
803
原创 pyhton基础【18】面向对象基础一
需求编写一个程序,完成一名学生的信息输出定义学生的姓名与年龄打印信息使用面向过程的方式实现# 遍历打印所有姓名-年龄print("姓名:", names_temp, " 年龄:", ages_temp)# 定义一个变量存储姓名name = "小明"# 定义一个变量存储年龄age = 20# 遍历姓名-年龄分析从上述通过面向过程方式实现的代码中,我们可以发现代码行数不是很多,整个程序比较简单。
2025-06-29 21:18:13
920
原创 pyhton基础【16】函数进阶二
而Python对小整数的定义是[-5, 257),只有数字在-5到256之间它们的id才会相等,超过了这个范围就不行了,同样的道理,字符串对象也有一个类似的缓冲池,超过区间范围内自然不会相等了。在此简单总结:所谓函数名当做引用,其实是指在Python中所有的函数名实际上是一个变量名,只不过这个变量名指向的不是常见的数据,而是一段代码,当我们用。有时在调用函数时,这个函数需要的是多个参数,而自己拥有的是一个列表或者集合这样的数据,此时就用可以用*拆包。可以理解为存放数据的空间在内存中的编号。
2025-06-25 22:33:02
882
原创 pyhton基础【15】函数进阶一
函数返回值拆包:如果一个函数通过return返回了一个元组、列表、集合,可以通过拆包的方式将返回值进行拆分到每个变量中,这就是返回值拆包。
2025-06-23 23:35:01
904
原创 pyhton基础【13】函数三
函数根据有没有参数,有没有返回值,可以相互组合,一共有4种无参数,无返回值无参数,有返回值有参数,无返回值有参数,有返回值。
2025-06-22 18:47:30
817
原创 pyhton基础【12】函数二
上述的代码,虽然能够实现两个数的加减乘除,但有个较大的问题:四个函数中每次都需要重新获取这两个数字,我们如果想要计算1和2的加减乘除的结果,就需要输入四遍数字1,四遍数字2,这太麻烦了。说明:一个函数中可以有多个return,但是只要有一个return被执行到,那么函数就会结束了,因此后面的return没有什么用处。Python内置了很多的函数,但这些函数具体的功能不是我们编写的,我们很难在较短的时间内读懂函数的实现代码。内置函数:Python自带的函数尽情的用,对我们的开发有极大的帮助。
2025-06-22 10:35:31
654
原创 pyhton基础【11】函数一
函数:一个功能独立的代码块# 定义一个函数,能够完成打印信息的功能print(' 人生苦短,我用Python ')上面的知识我们知道,函数就是一个独立功能的代码块,想要用函数一定要掌握两块知识定义函数(即怎样制作函数)调用函数(即怎样使用函数)下面我们就来研究函数的定义以及调用。def 函数名(形参):函数体函数名:一定有,按照命名规则起个名字,注意Python中建议使用小写加下划线的方式,例如print_info而不用PrintInfo。
2025-06-17 20:00:26
973
原创 pyhton基础【10】容器介绍五
例如,有一个元组(11, 22, 33, 44)想快速的提取每个元素且赋值给num1, num2, num3, num4这4个变量。在没有使用不定长参数的情况下=右边要拆的数据元素的个数要与=左边存的变量个数相同。克隆一份,修改拷贝后的对象中的可变元素不对原对象内容产生影响。修改拷贝后的内容中的可变数据,原对象内容随之修改。copy模块中的deepcopy()copy模块中的copy()方法。拆包:是一种快速提取数据的方式。列表函数copy()进行浅拷贝。
2025-06-15 22:32:27
353
原创 pyhton基础【9】容器介绍四
引入场景一:声明一个列表保存学生信息name_list = ['张三', '李四', '王五']如果发现 "李四" 这个名字写错了,通过下标修改name_list[1] = '赵六'但是如果列表元素的顺序发生了变化,如下列代码name_list = ['张三', '王五', '李四']此时就必须需要修改下标,才能完成姓名的修改name_list[2] = '赵六'问:有没有方法,既能存储多个数据,还能在访问元素的时候就可以很方便就能够定位到需要的那个元素呢?
2025-06-15 17:03:17
963
原创 pyhton基础【8】容器介绍三
什么是元组元组是存储多个数据的一种方式元组与列表类似,不同之处在于元组的元素不能修改元组使用小括号(),列表使用方括号[]>>> aTuple元组的使用访问元组# 定义一个元组# 获取元组中的元素# 遍历不能修改元组# 定义一个元组nums[0] = 400 # 这里会报错,元组中的数据不能被修改运行结果:File "/Users/poppies/Desktop/元组.py", line 4, in <module>
2025-06-14 15:12:49
631
原创 pyhton基础【7】容器介绍二
引入通过前面学习的字符串我们可以实现用它存储一串信息,例如存储一个人的名字小明,那么如何存储咱们班所有同学的名字呢?定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?答:列表定义定义列表的方式是[]如下:用列表存储了三名学生的姓名stu_names = ['张三', '李四', '王五']如下:用列表存储了五位同学的考试分数基本使用下标列表中存储的多个数据,我们可以对这些数据任意的使用方式是:通过下标可以实现定位,然后就可以用这个数据。
2025-06-14 10:16:20
278
原创 pyhton基础【6】容器介绍一
较为官方的说法:切片是指对操作的对象截取其中一部分的操作通俗来说:一种能够从数据中取到一部分数据的方式例如:有一个字符串"abcdef",我们可以通过切片取到"cde"切片不仅可以在字符串中应用,还可以对列表、元组等进行操作,简言之切片功能很重要。
2025-06-12 19:32:33
849
原创 pyhton基础【5】循环
在Python中,循环是一种用于重复执行一段代码直到满足某个条件为止的控制结构。Python主要提供了两种类型的循环:for循环和while循环。
2025-05-26 23:15:03
831
原创 pyhton基础【4】判断
说明:age的值是16,所以age >= 18的结果是False,所以不会执行print("我已经成年了")说明:age的值是30,所以age >= 18的结果是True,所以就会执行三个print。外层是if...else...内层也是if...else...if是用来进行判断的,其使用格式如下。,可以使用elif实现。如果有这样一种情况:当。
2025-05-25 22:53:21
484
原创 pyhton基础【3】比较与逻辑运算
一般的用法:之前结果为True,那么not True就是False,如果之前是False,那么not False就是True。我们一般用逻辑运算符时,左右两边的结果是True或者False,最后得到一个True或者False。检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。检查左操作数的值是否大于右操作数的值,如果是,则条件成立。检查左操作数的值是否小于右操作数的值,如果是,则条件成立。
2025-05-25 09:48:40
650
原创 pyhton基础【2】基本语法
如果在程序中需要把两个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可,存储一个数据,需要一个叫做变量的东西;在上述变量定义时,age就是变量的名字,实际上它就是标识符,如果在程序中需要获取18,那么就使用age这个标识符就可以了。在Python中,如果我们需要打印出一些数据以便能够知道数据的大少,此时用print即可,会在终端中打印出对应的数据。在python中,只要有数据,那么一定有它的数据类型,可以使用type(常量或者变量),来查看数据类型。
2025-05-24 21:22:45
953
原创 pyhton基础【1】hello word
2. 选择Pure Python表示创建一个纯Python程序项目, Location 表示该项目保存的路径,Interpreter 表示使用的Python解释器版本,最后点击Create 创建项目。4. 在弹出的对话框中输入的文件名HelloPython,点击OK,表示创建一个Python程序的文本文件,文本文件后缀名默认.py。执行效率低,但是当我们更看重产品的开发效率而不是执行效率的时候,Python就是很好的选择。其官方网站:https://www.jetbrains.com/pycharm/
2025-05-24 09:37:09
200
原创 ai学习中收藏网址【1】
课程⾥所有的代码部分,通过 Jupyter Notebook 的形式放在了 GitHub 上。notion.ai 地址如下。AI 辅助我们来读论⽂。
2025-04-19 10:37:05
201
转载 pandas【26】excle数据导入数据库
SQLAlchemy 是 Python 的 SQL 工具包和对象关系映射器(ORM),它为应用程序开发者提供了完整的 SQL能与灵活性。如果参数if_exists=‘replace’:插入新值之前drop表。可以看到,因为表中已经有数据了,再插入相同的数据,会导致数据重复。
2025-04-03 18:30:40
88
转载 pandas【25】找出最影响结果的哪些特征--SelectKBest
sklearn.feature_selection.f_classif: 根据方差分析(ANOVA)的原理,以F-分布为依据,利用平方和与自由度所计算的祖居与组内均方估计出F值,适用于分类问题。sklearn.feature_selection.f_regression: 基于线性回归分析来计算统计指标。inverse_transform(X): 根据选出来的特征还原原始数据,但对于被删除的属性值全部用0代替。sklearn.feature_selection.chi2: 计算卡方统计量,适用于分类问题。
2025-04-03 17:26:32
124
转载 pandas【24】groupby聚合之后对不同列数据进行统计
电影评分数据集(UserID,MovieID,Rating,Timestamp):agg(新列名=函数)、agg(新列名=(原列名,函数))、agg({"原列名":函数/列表})agg函数的两种形式,等号代表"把结果赋值给新列",字典/元组代表"对这个列运用这些函数"官网文档:https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.core.groupby.DataFrameGroupBy.agg.html。
2025-04-03 14:52:52
137
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅