Python flask
摘要:{{变量}} {% 表达式 %} _init_.py这个文件的执行时间 package,module debug模式、host、port debug 模式: 热更新 可以在浏览器上面显示错误信息 host 让别人可以访问自己的电脑 url 与 试图映射 url RESTful 风格传参 @app.r
阅读全文
Python with
摘要:Python的with这个关键字用来对context进行管理 进入的时候自动持有 出去的时候自动释放 class MyContextManager: def __enter__(self): print('1. entering') # 返回给 as 关键字 return self def __ex
阅读全文
Python asyncio
摘要:asyncio 作用 提供了对携程的支持 非阻塞: 协程允许在等待异步操作的同时执行其他任务,而不会阻塞整个程序。 轻量: 相对于线程和进程,协程的开销较小,因为它们在单线程中执行。 使用async/await语法: async def声明协程函数,await用于等待异步操作的完成。 事件循环: 协
阅读全文
Python 的两个 sleep
摘要:1.time.sleep() 直接阻塞整个真正的线程(Python仅仅一个线程),此时整个程序暂停 2. asyncio.sleep() 阻塞当前的假线程,继续执行其他事情async def my_coroutine(): print("Start") await asyncio.sleep(2)
阅读全文
Python "多线程"
摘要:使用 threading 这个模块(就是一个文件) 重要的 class Thead(和Java的基本一致) start run 使用Thread类的target属性时,实际上相当于将目标函数指定为线程的run方法 join(timeout=None) 作用: 用来进行线程同步 参数 timeout:
阅读全文
Python 细节
摘要:array Python中的array的长度是本身携带的属性,len(),实际为调用内部函数__len__() arr: List = [0,1,2,3] index的取值范围: [-len(arr), len(arr) - 1] keys 较为少见或者可以不需要 del yield not is
阅读全文
Python sort
摘要:在Python中,对数组进行排序可以使用内置的sorted()函数或者列表对象的sort()方法。同时,可以使用参数来指定不同的排序方法。 使用sorted()函数进行排序并指定排序方法: arr = [3, 1, 4, 2, 5] # 使用sorted函数进行排序,默认为升序排序 sorted_a
阅读全文
Python 深拷贝&浅拷贝
摘要:Python中的深拷贝和浅拷贝 在Python中,对象的拷贝是一个常见的操作。Python提供了两种拷贝方式:深拷贝和浅拷贝。了解这两种拷贝方式的概念和使用场景,有助于我们正确处理对象的拷贝问题。 1. 浅拷贝 浅拷贝是指创建一个新对象并将原始对象的引用复制到新对象中。新对象和原始对象共享内部对象的
阅读全文
Python GIL 和 多处理器
摘要:当谈到Python的多线程时,人们经常会提到全局解释器锁(Global Interpreter Lock,GIL)。GIL是CPython解释器中的一个机制,它确保同一时间只有一个线程在解释Python字节码。这导致了Python的多线程执行在某种程度上是单线程化的,无法充分利用多个处理器。现在让我
阅读全文
Python 中函数 range
摘要:range 函数 简要说明 接收参数数量为1/2/3 区间表示的范围是左闭右开 接收参数 当使用Python中的range()函数时,可以总结如下使用方法: range(stop):生成从0到stop-1的整数序列。产生的序列包含起始值0,但不包含stop。 for i in range(5): p
阅读全文
Python中的Union这个类的使用
摘要:在 Python 中,Union 是 typing 模块中定义的一个类,用于表示多个类型中的任意一种类型。Union 类型可以用于表示参数或函数返回值等多种情况下可能的不同类型。 具体而言,Union 类型可以使用 `typing.Union[type1, type2, ...]` 的语法来定义,其
阅读全文
Python generator 构建协程,实现异步编程(使用yield构建消息处理者和消息创造者)
摘要:## 协程的定义理解 Python 协程可以在单个处理机或多个处理机上运行,这取决于具体实现方式。在 Python 中,主要有两种协程实现方式:生成器协程和 `asyncio` 协程。 生成器协程只能在单个处理机上运行,因为生成器协程是通过生成器函数实现的,而生成器函数在单个线程中执行。生成器协程也
阅读全文
Python高级 type
摘要:在 Python 中,`type()` 是一个内置的函数,它有两个作用: 1. 返回对象的类型。 2. 动态创建类。 在第一种情况下,我们可以使用 `type()` 获取一个对象的类型,例如: ```python a = 123 print(type(a)) # ``` 上面代码中,`a` 是一个整
阅读全文
Python高级 metaclass
摘要:# metaclass ## 概念 元类(metaclass)是 Python 中相对高级的特性,元类是创建类的类,它允许我们控制类的创建过程,进而可以自定义类的行为和属性。在 Python 中,每个类都有一个元类,默认情况下,类的元类为 type。当我们使用 class 关键字定义一个新类时,实际
阅读全文
Python 函数重载
摘要:函数重载是指可以使用相同的函数名,但是函数参数类型和/或数量不同的多个函数。 Python 不支持函数重载,因为 Python 是一种**动态类型语言**,函数参数类型不需要在代码中声明,并且 Python 中的函数参数数量也可以是可变的。这意味着在同一个作用域内定义两个或两个以上具有相同名称但参数
阅读全文
python @property
摘要:在 Python 中,`@property` 是一个装饰器,它可以帮助我们将类的方法转换成只读属性,使用这个装饰器之后,其实就是getter,其他的对该属性的操作必须使用装饰器申明,否则报错 使用 `@property` 装饰器的语法如下: ```python class MyClass: def
阅读全文
python @ 装饰器
摘要:# 装饰器的概念 Python 的装饰器(Decorator)是一种用于修改或扩展原有函数功能的语法糖。它可以在不改变原函数代码的情况下,通过将函数作为参数传递给另一个函数来实现函数的增强。 装饰器是一个闭包函数,通过接收一个函数作为参数,并返回一个新的函数对象来对该函数进行扩展。在返回的新函数中,
阅读全文
python 迭代器
摘要:# 迭代器(用来生成惰性序列) 迭代器的理解,学过Java的都是知道的,java也是都是由迭代器的,而且是一种设计思想,实际上。可以把迭代器理解成一种特殊的 list + function**实际上,迭代器是一个特殊的函数** ## 迭代器的特性 1. 可迭代的 2. 使用next这个内置函数来移动
阅读全文
python data analysis
摘要:Python 数据分析的步骤 总体观察数据 数据清洗(去重、缺失值处理等) 执行操作
阅读全文
一个循环实现五子棋输赢判定 gobang
摘要:通过一个for循环实现五子棋输赢判定 看过好些人写的判定方法,发现基本都是使用三层for来遍历实现的虽然时间复杂度不是N^3但是如下算法时间复杂度仅仅是N 经过分析,时间复杂度的原因来自(x + i, y) in smallPointList->O(N)但是for i in range(-4, 5)
阅读全文