【python】进阶之函数详解(三) 3 函数3.1类型提示 Python 3.6后加入了新功能:类型提示,用来声明一个变量的类型 在FastAPI中,类型提示可以用到Swagger文档中 1234567def get_name_with_age(name: str, age: int) -> str: pass# 基本类型: int、float、bool、bytesfrom typing import List: de 2024-03-18 python #python #笔记
【python】进阶之数据结构(二) 2 数据结构2.1基本数据结构可变:列表、字典、集合 不可变:数字、浮点、字符串、元组(需元组内无可变) 直接访问:数字 顺序访问(序列类型):字符串、列表、元组 Key值访问(映射关系):字典 2.2 深浅拷贝【什么是拷贝】:原封不动地复制一份新的,在不同的内存地址上,修改旧的不会影响新的。 变量赋值不是拷贝 变量赋值不是拷贝操作,因为变量名list1和变量名list2指向的是一块相同的内 2024-03-18 python #python #笔记
【python】进阶之基础回顾(一) 1 基础回顾1.1变量赋值和引用 当有一个新变量的时候,内存空间就会开辟一块数据存储 变量不同,地址是不同的,可以用id( )获取内存地址 变量引用的本质就是将这个变量的内存地址,关联到一个新变量中,两个变量指向的是同一个地址, 所以变量是不占内存的, 1.2 小整数池小整数池就是Python解释器在程序开始运行的时候就预先开辟的一块内存空间,存放一部分的整数,方便后面去调用,用于优化资源消耗的 2024-03-18 python #python #笔记
【python】之使用gRPC gRPC Python调用通过一个简单的工作示例使用 Python 中的 gRPC。 1 、定义rpc 接口 ,proto文件 hello.proto1234567891011121314151617181920syntax = "proto3";option go_package="../proto";service Greeter { // 2024-03-14 python #python #笔记
【python】闭包之回调函数异步应用场景 python 闭包函数 的用途闭包函数在Python中有多种用途,下面是一些常见的应用场景: 封装数据:闭包函数可以用于创建对象的私有变量,将变量隐藏在函数内部,只能通过特定的函数访问和修改。这样可以避免全局变量的污染,并增加代码的封装性和安全性。 保留状态:闭包函数可以捕获并保留其定义时的上下文环境。这意味着函数可以记住其被创建时的状态,可以在后续调用中继续使用这些状态。这在需要保持持久状态的 2024-03-05 python #python #笔记
【python】之装饰器的基础实现和常见装饰器 原理实现方式应用场景及常见装饰器 在Python接口自动化测试中,装饰器可以用于增强测试函数的功能或改变其行为。以下是一些可能使用的装饰器示例: 设置和清理环境【setup和teardown】@setup:用于在测试开始前初始化环境或配置。123456789101112131415161718192021222324252627class CustomTestRunner: def __i 2024-03-05 python #python #笔记
【python】FastAPI之异步async-await(八) 12-1 fastapi是异步Web框架【重点】FastAPI这个web框架是异步框架,那它到底是如何体现异步的呢? 本质上,实现异步的方式有三种:多进程、多线程和协程,FastAPI实现异步使用了多线程(线程池)和协程的方式。 当我们写普通形式的代码时:即使用 def 定义路径函数,FastAPI内部帮我们使用多线程(线程池)实现异步并发 当我们写async形式的代码时:即使用 async d 2024-03-04 python #python #编程,web开发
【python】FastAPI7之APIRouter与请求响应的进阶用法(七) 10-1 APIRouter基本使用【重点】场景: 如果我们写一个网站,或者写一个APP,那整个项目是比较复杂的,此时不应该把所有代码放在一个文件中。 前面我们通过把代码拆分到不同文件的方式,可以解决一些代码混乱的问题,但是却不能更好的解决。 比如一个项目中可能含有不同的模块,那不同的模块应该分开管理,这样项目才便于维护和管理。。 FastAPI的解决方式 APIRouter就是FastAPI为了 2024-03-04 python #python #编程,web开发
【python】FastAPI之登录认证(六) 9-1 用户注册对于很多应用来说,注册接口是必可不少的。想要实现注册接口,其实很简单,但是你会发现会有很多种选择: 注册时有需要哪些字段? 注册接口使用什么请求方式? 前端朝后端传数据时,放在查询参数中、请求体中? 如果放在请求体中,使用JSON格式还是表单格式? 解决方式 你会发现就一个简单的注册接口,其实还是有很多问题需要我们思考的。 首先,注册接口一般是将用户的个人信息提交给服务端,因 2024-03-02 python #python #编程,web开发
【python】FastAPI之数据库操作(五) 8-1 关系型数据库由于之前学过数据库基础知识,这里不做介绍只做对比 场景的数据库一般表现为软件,比如 MySQL、Oracle、SQL Server、PostgreSQL、DB2、SQLite等等(关系型数据库)。 Redis、Memcached、MangoDb等等(键值型数据库)。 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,可以类比EXC 2024-02-28 python #python #编程,web开发
【other】UML类图简单学习笔记 UML图是软件工程建模中对程序设计描述的设计图类的总称,可以让我们更清晰的了解项目的结构。 常见UML图包含类图、对象图、组件图、部署图、用例图等结构行为图以及序列图、协作图、状态图、活动图等动态行为图,想要拓展的可以参考网上博客—>九种常见UML图 本文是最常用的UML类图的笔记 一、UML类图简介类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一 2024-02-26 other #笔记 #UML #视野
【python】之设计模式【未完】 前言第1章 简介1.1 面向对象相关1.2 面相对象的3个设计设计原则第2章–单例设计模式【创建型模式】2.1 理解单例12.1.1实现单例 –代码解读1234567891011121314151617181920212223242526272829# 单例模式class Singleton(object): def __new__(cls): # __new__是在实例化的时候调用的方法 2024-02-23 python #python #笔记
【linux】Ubuntu上使用Charles Ubuntu上使用Charles 下载 使用官网链接下载 https://www.charlesproxy.com/download/下载.tar.gz包后解压,进入解压目录/charles/bin 执行charles文件可打开charles 命令行方式下载安装 1234wget -q -O - https://www.charlesproxy.com/packages/apt/Public 2024-02-23 linux #笔记 #linux #ubuntu
【python】之pytest如何使用fixture夹具-四【重】 四、关于fixtures测试夹具的使用【重点】这篇文章主要介绍fixture夹具,在项目中的使用技巧,代码比较多,文章比较长,请耐心看完 有些官方文档上的代码比价绕或者冗余,就自己写了简单版的便于理解 4.1 “Requesting” fixtures(请求夹具)在基本层面上,测试函数通过将它们声明为参数来请求它们所需的装置。 当pytest运行测试时,它会查看该测试函数签名中的参数,然后搜索 2024-01-23 python #python #笔记 #pytest
【python】之pytest在测试中编写和报告断言(三) 三 如何在测试中编写和报告断言3.1 使用 assert 语句断言pytest 允许使用标准 Python 断言来验证 Python 测试中的期望和值。例如,可以编写以下内容: assert 是Python中的关键字,assert 后面跟的如果为Ture 就通过,为False 1234567# content of test_assert1.pydef f(): return 3def 2024-01-22 python #python #笔记 #pytest
【python】之pytest命令行调用(二) 二 如何用命令行调用pytestSee also Complete pytest command-line flag reference 也可以点击链接查看完整的命令行介绍(那可太全面了) In general, pytest is invoked with the command pytest (see below for other ways to invoke pytest). This 2024-01-21 python #python #笔记 #pytest
【thought】思考之质量内建的一些理解 质量内建的理解质量的标准: 质量的标准是多维度的。可以是功能性的,也可以是体验方面的,或者以更低的成本交付、 测试的本质:是验证交付的产品符合产品设计的预期标准,以及是否存在可能影响产品质量或者用户体验的风险。软件工程的本质也是聚焦质量交付,为了在不断迭代的过程中解决质量不可控而产生的一系列方法论和最佳时间, 我们都知道一句话叫做:“质量是设计和构建出来的,而不是测试出来的。” 对于质量建设, 作 2024-01-20 thought #笔记 #思考 #质量,摘抄
【python】之pytest使用指南快速入门(一) 一 介绍The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries. pytest框架可以轻松编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试 2024-01-20 python #python #笔记 #pytest
python 之 pytest标记(五) 如何用属性标记测试函数简单使用通过使用pytest.mark可以轻松地在测试函数上设置元数据。可以在API参考中找到内置标记的完整列表。 或者可以使用命令行pytest — —markers列出内置的和自定义的所有标记, 内置标记包含: usefixtures - 使用fixutures的测试用例或者类 filterwarnings 过滤带警告的测试函数 skip 测试的时候跳过该测试用例 sk 2024-01-20 #python #笔记 #pytest
python 之 pytest 使用参数化夹具测试(六) 如何使用参数化夹具测试pytest 支持多个级别的测试参数化: pytest.fixture() 允许对夹具函数进行参数化。 @pytest.mark.parametrize 允许在测试函数或类中定义多组参数和fixture。 pytest_generate_tests 允许定义自定义参数化方案或扩展。 参数化测试方法:@pytest.mark.parametrize内置的 pytest.ma 2024-01-20 #python #笔记 #pytest