Python 操作 Excel 文件库 - openpyxl
引用站外地址 Python 操作 Excel 文件库 - openpyxl 官方教程 一. 安装1pip install openpyxl 二. 基本操作2.1 创建工作簿创建工作簿时, 会自动产生一个 sheet, 可以通过 active 获取 1234567import openpyxl# 创建工作簿wx = openpyxl.Workbook()# 获取默认 工作表sheet = wx.active 2.2 创建工作表123sh1 = wb.create_sheet("工作表 1") # 在最后插入工作表sh2 = wb.create_sheet("工作表 2", 0) # 在首位插入工作表sh3 = wb.create_sheet("工作表 3", -1) # 在倒数第二个位置插入工作表 2.2.1 修改工作表名123sh3 = wb.create ...
Python 基础 - httpx 库
引用站外地址 Httpx 官方文档 支持同步和异步 API,并支持 HTTP/1.1 和 HTTP/2 一. httpx 基础HTTPX 是 Python 3 的全功能 HTTP 客户端,它提供同步和异步 API,并支持 HTTP/1.1 和 HTTP/2。 1.1 安装1pip install httpx 1.2 快速开始1.2.1 get请求1234567import httpxparams = { "wd": "python" # 输入百度搜索的内容}resp = httpx.get("https://www.baidu.com/s", params=params) # 和原来requests的使用方法类似print(resp.text) # 获取数据信息 1.2.2 post请求表单12345import httpxda ...
Python 基础 - 异步编程 asyncio
一. 概念识别阻塞: A 调用 B, A 会被挂起, 一直等待 B 的结果, 什么都不干. 非阻塞: A 调用 B, A 自己不用被挂起来等待 B 的结果, A 可以去干其他事情. 同步: A 调用 B, 此时只有等 B 有了结果才返回. 同步意味着有序 异步: A 调用 B, B 立即返回, 无需等待, 等 B 处理完之后再告诉 A 结果. 异步意味着无序 并发: 为了让独立的子任务能够尽快完成. 并行: 为了利用多核加速多任务的完成. 事件循环: 并非真正的循环, 而是线程不断从事件列表中取事件的动作. 回调: 同步回调: 一种 阻塞式调用, 需要等待调用事件返回. 回调: 一种 双向调用模式, 被调用方调用时也会调用对方. 异步回调: 一种类似消息或事件的机制, 即收到某种信息时, 会主动通知调用方. 二. 协程2.1 协程协程(coroutine): 又称微线程, 一种用户态的轻量级线程. async: 用来定义协程的关键字. await: 等待到对象的返回结果,才会继续执行后续代码. 1234567891011import asyncio# 打印 hello 等待 1 ...
17、Python 基础 - 零散的知识
1. print 打印技巧1.1 数字时钟样式使用 \r + end="" 可以实现数字时钟. 123print(f"{self._hour:-02d}:{self._minute:-02d}:{self._second:-02d}", end="")time.sleep(1)print("\r", end="") 1.2 加载进度条样式12print("🟥", end=' ')time.sleep(0.5)
一、Java 基础 - 环境搭建
1. 下载 jdkJava se 官网 2. 安装 验证安装1java -version 123java或javac 3. 第一个程序12345public class demo01{ public static void main(String[] args) { System.out.println("你好,java"); }} 在文件目录下运行代码,进行编译,得到 .class 文件 12javac demo01.java java demo01
二、Java 基础 - 基础语法
一. 语法结构 12345public class Demo{ public static void main(String[] args) { System.out.println("你好,java"); }} 说明: Demo :表示一个类,类名为 Demo,与文件名相同 public: 表示一个公有的类 public static void main:表示一个主方法,即程序的入口(固定写法) System.out.println("你好,java"); : 表示输出到屏幕,“;”表示语句结束 Java 语言严格区分大小写; 每个语句都必须以 “ ;” 结束; 括号都是成对出现的; 一个源文件只能有 一个 public类,其他类的数量不限; 每一个类在编译完成后,都会生成一个 “ .class ” 文件 如果原文件包含 public 类,则文件名必须与 类名相同; 二. 常用的转义字符 字符 说明 案例 运行结果 \t 制表符 System.out.println(“北京\t天 ...
三、Java 基础 - 判断、循环
一、判断1. if……else if …… else语法 :::tip if(条件表达式){ 执行代码块; } else if (条件表达式) { 执行代码块; } else { 执行代码块; } ::: 123456789101112131415161718192021// 引入 scannerimport java.util.Scanner;public class demo01{ public static void main(String[] args) { // 创建 scanner 对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); int age = myScanner.nextInt(); if ( age >= 18 && age < 60){ System.out.println("他成年了"); }else if ...
四、Java 基础 - 数组、排序、查找
一、数组 [ ] 数组:可以存放多个同一类型的数据数组的下标从 0 开始 1. 动态初始化 - 确定元素数量方式 11234数组类型 数组名[] = new 数组类型[大小]// 创建一个数组,数组名为 a ,可以存放 5 个 int 类型的元素int a[] = new int[5]; 方式 212345数组类型 数组名[]; 或 数组类型[] 数组名;数组名 = new 数据类型[大小];int a[];a = new int[5]; 2.静态初始化 - 不确定元素数量123数据类型 数组名[] = {元素,元素,元素...}int a[] = {2,5,7,8,99,2,4,5,}; :::warning 数组是多个相同类型的数据组合,不同类型的数据不能放到同一数组中 数组创建后,如果没有赋值,则默认值为 byte、short、int、long 为 0,float、double 为 0.0,char 为\u0000, boolean 为 false, String 为 null 数组的下标从 0 开始 不同类型存放时需要遵循 数据自动类 ...
五、Java 基础 - 面向对象(初级)
一、类1. 属性 类的属性一般是基本数据类型,也可以是引用数据类型 ::: note 属性的定义语法和变量的定语语法相同; 访问修饰符 属性类型 属性名; 属性如果不赋值,则默认值与数组一致;:::1234class Cat{ String name; int age;} 2. 创建对象12345678class Cat{ String name; int age;}// 先声明再创建Cat cat;cat = new Cat(); 1234567class Cat{ String name; int age;}// 直接创建Cat cat = new Cat(); 二、方法1.成员方法123访问修饰符 返回数据类型 方法名(形参列表){ 方法体;} ::: tip 访问修饰符: 控制方法的使用范围,不写则默认 四种: public(公共的)、protected(受保护的)、default(默认)、private(私有的) 返回数据类型 : 可以返回任意 ...
六、Java 基础 - 面向对象(中级)
一、包 包的本质就是不同的文件夹 ::: tip 区分相同名字的类 控制访问范围::: 1package com.hspedu; 说明: package: 关键字,表示打包 com.hspedu : 表示表名 ::: note命名规则: 只能包含字母、数字、下划线、小圆点 不能以数字开头 不能是关键字和保留字 一般是小写字母+小圆点 com.公司名.项目名.业务模块名 如:com.sina.crm.user ::: 常用的包: java.lang 基本包,默认引入,不需要再次引入 java.util 系统提供的工具包,工具类,如:Scanner java.net 网络包,网络开发 java.awt 做 java 的界面开发,GUI 123import java.util.Scanner; // 引入 Scanner 类import java.util.* // 引入 util 下所有的类 :::warning注意事项: package 的作用是声明当前类所在的包,需要写在类的最上边,一个类中最多只能写一个 package import 指令放在 ...