python基础学习
缩⼩图像(或称为下采样(subsampled)或降采样(downsampled))的主要⽬的有两个:1、使得图像符合显⽰区域的⼤⼩;2、⽣成对应图像的缩略图。
放⼤图像(或称为上采样(upsampling)或图像插值(interpolating))的主要⽬的是放⼤原图像,从⽽可以显⽰在更⾼分辨率的显⽰设备上。
下采样原理:对于⼀副图像I尺⼨为M N,对起进⾏s倍下采样,即得到(M/s)(N/s)尺⼨的分辨率图像,当然,s应该是M和N的公约数才可以,如果考虑是矩阵形式的图像,就是把原始图像s*s窗⼝内的图像编程⼀个像素,这个像素点的值就是窗⼝内所有像素的均值。
Pk = Σ Ii / s2
上采样原理:图像放⼤⼏乎都是采⽤内插值⽅法,即在原有图像像素的基础上在像素点之间采⽤合适的插值算法插⼊新的元素。
插值算法还包括了传统插值,基于边缘图像的插值,还有基于区域的图像插值。
目标检测:1.给每个像素生成若干锚框
2.通过计算IOU来给锚框分类
3.通过预测偏差和锚框来对预测边界框。
nms有两种:1)把所有的类放在一起,选最大的iou去掉。
2)每一类分开进行nms
提升精读思路:根据数据挑选增强、使用新模型、新优化算法、多个模型融合,测试时使用增强。
SVM:支持向量机,通过一个超平面把数据分类,是一种监督学习,但是往往在实际过程中,数据是不好直接被平面分类的,所以就在应用SVM之前对数据进行非线性变换。在不改变SVM内部工作原理的情况下获得非线性决策边界。
python
最重要的是缩进
变量,字符串,原始字符串,长字符串
- (如无必要,勿增实体)
- 里面变量不能以数字开头
- 单引号、双引号、三引号
- 转义字符都是以反斜杠开头
-
\路径里面的双斜杠,就是用反斜杠来转义反斜杠!
-
在字符串前面加一个原始字符r,表示字符串后的反斜杠都是字符,而不是转义字符
-
字符串最后是反斜杠,说明表示未完待续,程序不会执行,可以继续写
-
字符串也可以作乘法输出
条件分支、while循环
- int()
- if 条件:
- else:记住后面都有冒号哦!
-
- is 、is not 判断两个对象的id是否相等的
- Python3 中,一行可以书写多个语句=》;
- 也可以多行写一个语句,用反斜杠就可以 \
- while_条件:
- 语句
python逻辑运算符
- and 从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个假值.同时也是与的逻辑作用 遇假出假
- or 从左到右计算表达式,只要遇到真值就返回那个真是,如果表达式结束依旧没有遇到真值,就返回最后一个假值.同时也是或的逻辑作用 遇真出真
- 以上也叫做短路逻辑(short-circuit logic)
- not 取反,非逻辑作用
- (10 < cost) and (cost < 50)等价于 10 < cost < 50
- random.getstate() random.setstate
数字类型
int
python里整除了,最后结果还是以浮点数形式存在
foalt
-
python中小数是以浮点数形式存放的
-
-
精确计算浮点数
-
decimal.Decimal()实例对象
-
比较的时候还是要用同一对象进行比较,不能用0.3直接和decimal对象比较,那是不同对象的,会报错。
-
-
python科学计数法,e表示10的幂次方
-
将数字转换为科学计数法
num = 123456789
print(“{:.2e}”.format(num)) # 输出为1.23e+08
那个{:.xe}x是表示小数点后几位数字
复数
- python是向下取整,int(5.5)=5
- 取变量类型用instance()、type()
数值运算
- //地板除
- [ ] 用int转换小数字符串的时候,会截断
- pow (x,y,z) y可以为负数,就做log函数,还有z是求余的运算。
布尔类型
- 值为false
- 可以这样理解,bool类型是特殊的整数类型
- python所有对象都能进行真值测试
运算优先级
- 当学生只能硬记,由上至下,优先级越高!
流程图
思维导图
分支和循环
- 条件表达式
- 用一个小括号来把代码封起来,等价于\实现多行代码连续输入。
分支结构嵌套
-
-
while break 跳出循环体
-
continue 跳出本次循环,回到循环体
-
while else 语句:当循环完整结束后会执行 else
-
break和continue都是作用于最小循环
for
- for in中的可迭代对象
- range
是生成一个数字序列,其参数必须是整型。
列表
- 注意最后的,还可以倒序输出。
- 增 :append()、 extend()
- 也可以使用切片的方法去做
和extend的原理一样 - insert( x,y) x插入的位置,y是插入的元素
-
- 删除: remove()但是有多个匹配的元素,只会删除第一个,如果没有匹配到,就会报错。
- pop() 删除 某个位置的元素
- clear()清空
-
- 列表元素的替换:
- 列表排序:sort()从小到大排序
或者在sort(reverse=True)直接在sort里翻转 - 列表反转:reverse()
- index() 索引 index(a,b,c) a是元素内容、bc分别表示起始位置
- [ ] 可以通过该方法替换未知索引的内容
- count() 计算列表里有多少该元素
- copy()浅拷贝
-
- 负数索引表示从数组的末尾开始往前数的元素
- 列表 加法 乘法
- 嵌套列表
- 嵌套列表输出
- 只给一个下标索引,给出的是以行为单位的整个列表
- 初始化列表
- is判断两个变量是不是指向的同一对象。
- 若字符串是相同,则两个对象是指向的同一对象;而列表不是。
-
为什么不能用B=[ [ 0 ] * 3 ] *3来初始化列表
如下图:
- 在python中,变量不是盒子,是引用
- 我们要真正获得两个独立的列表,就需要用到copy()或者切片
在C++中类似,不能对数组进行直接复制,拷贝,只能通过for循环,对数组中每一个元素逐个进行复制。
浅拷贝和深拷贝
-
在面对多维列表的时候,在使用copy就不行了,因为浅拷贝只是对外围数据进行拷贝,对内层数据还是以引用形式存在的。
-
-
copy模块 import copy
-
copy.deepcopy()深拷贝
-
copy.copy()浅拷贝
python虚拟机 pvm
列表推导式(用的c语言进行的)
- 结果是一个列表
- 其执行顺序为 先执行for 的迭代 ,然后再执行,for后判断语句。
- 嵌套的列表推到式
- 可以用嵌套的列表推导式来表示笛卡尔乘积,每个for后面都可以加一个if来进行条件筛选
-
KISS原则
要保证代码简洁好看,不介意多行列表嵌套式,容易看不懂
元组tuple
不可逆的、圆括号、也可以不带括号、也支持切片操作
-
count、index()
-
支持拷贝
-
支持嵌套
生成一个元素的元组:x = <520,> -
打包和解包:一堆数据生成一个元组称为元组的打包,用一个元组对几个变量进行赋值,称为解包。打包和解包用于所有序列。注意解包的时候,需要左右两边的变量数量要一致。
-
除非用以下这个方式:
-
_:表示匿名变量
python中多重赋值就是这样的来的。
元组中的元素是不可变的,但是元组中的元素如果指向的是可变的元素,那就可以改变。如下:
字符串
- 用切片来实现回文数的查找
-
字符串里的方法:
capitalize()将字符串首字母大写
title()各单词首字母大写
swapcase()将原字符串大小写翻转
upper()将所有字母都大写
lower()将所有字母都小写
casefold()小写,并且可以处理其他语言
center(w)w>字符串长度则,将其居中。小于则直接输出。
ljust左对齐
rjust右对齐
zfill()字符串前面补0,不是单纯的补,如果字符串前面有符号,在前面也会有符号站位
count(a,b,c)bc分别是指定的查找位置参数
find()rfind()从左往右、从右往左找
index()找不到就抛出异常
- 使用空格来替换制表符,返回一个新的字符串
- replace(old,new,count==-1)指定新字符串替换旧字符串,count默认为-1,即为替换全部
配合str.maketrans()使用,相当于是在里面生成了一个转换规则。
依照这个转化规则执行:
还可以再加一个参数,将指定的字符串忽略掉
方法 含义
capitalize() 把字符串的第一个字符改为大写
casefold() 把整个字符串的所有字符改为小写
center(width) 将字符串居中,并使用空格填充至长度width的新字符串
count(sub[,start[,end]]) 返回sub在字符串里边出现的次数,start和end参数表示范围,可选
encode(encoding=‘utf-8’, errors=‘strict’) 以encoding指定的编码格式对字符串进行编码
endswith(sub[,start[,end]]) 检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选
expandtabs([tabsize=8]) 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8
find(sub[,start[,end]]) 检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选
index(sub[,start[,end]]) 跟find方法一样,不过如果sub不在string中会产生一个异常
isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdecimal() 如果字符串只包含十进制数字则返回True,否则返回False
isdigit() 如果字符串只包含数字则返回True,否则返回False
islower() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False
isnumeric() 如果字符串中只包含数字字符,则返回True,否则返回False
isspace() 如果字符串中只包含空格,则返回True,否则返回False
istitle() 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False
isupper() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False
join(sub) 以字符串作为分隔符,插入到sub中所有的字符之间。>>> str5 = ‘Fishc’ >>> str5.join(‘12345’) ‘1Fishc2Fishc3Fishc4Fishc5’
ljust(width) 返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串
lower() 转换字符串中所有大写字符为小写
lstrip() 去掉字符串左边的所有空格
partition(sub) 找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’, ’’, ’’)
replace(old,new[,count]) 把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。>>> str7 = ‘i love fishdm and seven’ >>> str7.replace(‘e’,‘E’,2) 输出’i lovE fishdm and sEven’
rfind(sub[,start[,end]]) 类似于find()方法,不过是从右边开始查找
rindex(sub[,start[,end]]) 类似于index()方法,不过是从右边开始
rjust(width) 返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串
rpartition(sub) 类似于partition()方法,不过是从右边开始查找
rstrip() 删除字符串末尾的空格
split(sep=None, maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。>>> str7.split () [‘i’, ‘love’, ‘fishdm’, ‘and’, ‘seven’]
splitlines(([keepends])) 按照‘\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行
startswith(prefix[,start[,end]]) 检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数可以指定范围检查,可选
strip([chars]) 删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选
swapcase() 翻转字符串中的大小写
title() 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串
translate(table) 根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符。>>> str8 = ‘aaasss sssaaa’ >>> str8.translate(str.maketrans(‘s’,‘b’)) ‘aaabbb bbbaaa’
upper() 转换字符串中的所有小写字符为大写
zfill(width) 返回长度为width的字符串,原字符串右对齐,前边用0填充
相关文章:

python基础学习
缩⼩图像(或称为下采样(subsampled)或降采样(downsampled))的主要⽬的有两个:1、使得图像符合显⽰区域的⼤⼩;2、⽣成对应图像的缩略图。 放⼤图像(或称为上采样…...

Python密码本连接wifi
有时候我们会忘记自己的Wi-Fi密码,或者需要连接某个Wi-Fi网络以满足合法需求。本文将介绍如何使用Python编程语言编写一个简单的连接Wi-Fi的程序。 一、密码本准备 在进行wifi猜测时,其实就是列出各种可能的密码,用来尝试去访问目标wifi&…...
Docker 设置 Redis 的密码失效
在网上找了设置Docker里的设置Redis密码,一段时间就失效了 1. 进入redis的容器 docker exec -it 容器ID redis-cli2. config set requirepass 密码 解决方法 1. 创建 redis.conf 配置文件 # Redis configuration file example. # # Note that in order to read the configu…...

1.环境部署
1.虚拟机安装redhat8系统 这个其实很简单,但是有一点小细节需要注意。 因为我的电脑是 16核心的,所以选择内核16,可以最大发挥虚拟机的性能 磁盘选择SATA,便于后期学习 将一些没用的设备移除 选择安装redhat 8 时间选择上海 选择…...

2024年第二届“华数杯”国际大学生数学建模竞赛 (A题 MCM)| 废水扩散分析 |数学建模完整代码+建模过程全解全析
当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看华数杯的A题! 完整内容可以在文章末…...
深度学习基础知识整理
自动编码器 Auto-encoders是一种人工神经网络,用于学习未标记数据的有效编码。它由两个部分组成:编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式,而解码器则将该表示形式转换回原始数据。这种方法可以用于降维,去噪,特征提取和生成模型。 自编码器的训练过…...
go语言GMP模式介绍以及协程案例展示
一. MPG模式 Go语言的调度模型被称为GMP,这是一个高效且复杂的调度系统,用于在可用的物理线程上调度goroutines(Go的轻量级线程)。GMP模型由三个主要组件构成:Goroutine、M(机器)和P࿰…...

码牛课堂首推——鸿蒙南北双向开发学习路线图标准版~
鸿蒙!鸿蒙!鸿蒙! 要说2023-2024年IT圈最火爆的名词,一定是鸿蒙! 2023年9月25日,华为发布会正式宣布2024年第一季度将推出HarmonyOS NEXT版本,这意味着鸿蒙原生应用开发将彻底摆脱Android手机系…...

(亲测可行)关于提高IDEA运行速度的方案
1.作者IDEA软件版本和计算机内存 Ultimate 2022.1.2版IDEA,计算机内存为12GB 2.修改配置以提高IDEA运行速度的误区-调高堆内存 很多文章会教调配置的内存,但大多是让你调高堆内存,比如会让你调高-Xms -Xmx ,这两种对应的是最…...

框架基础-Maven+SpringBoot入门
框架基础 Maven基础 Maven概述 Maven是为Java项目提供项目构建和依赖管理的工具 Maven三大功能 - 项目构建构建:是一个将代码从开发阶段到生产阶段的一个过程:清理,编译,测试,打包,安装,部署…...

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -投票帖子排行实现
锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…...

用julia演示蝴蝶效应:洛伦兹吸引子
文章目录 Lorentz吸引子julia绘图关闭抗锯齿 蝴蝶效应的名字来源于蝴蝶扇动翅膀的动作,虽然这个动作微小,但可能会在数周后引起飓风等极端天气的发生。这种现象表明,微小的变化可能会被放大并产生非线性的结果。这个概念最早由美国气象学家爱…...

从车联网到智慧城市:智慧交通的革新之路
一、引言 1、智慧城市的概念和发展背景 智慧城市(Smart City)是指以信息技术为基础,运用信息与通信等手段,对城市各个核心系统各项关键数据进行感测、分析、整合和利用,实现对城市生活环境的感知、资源的调控&#x…...
模拟IIC通信
模拟IIC通信 IIC 模拟IIC通信底层接口时间控制(通信速度)功能实现对外接口EEPROM相关 底层接口 device是可以用来增加多个IIC设备管理的 void I2C_SET_SCL(unsigned char device, unsigned char bit_value) {bit_value ? MCU_SCL_H() : MCU_SCL_L(); }void I2C_SET_SDA(uns…...

安卓手机变iOS!
Launcher iOS 16 - 安卓手机秒变iOS Launcher iOS 16 是一款iOS启动器,可以将安卓手机桌面变成iOS样子,还有iOS的开机动画和景深效果! 下载链接:【Launcher iOS 16】 ...

Spring使用注解管理Bean
引入lib包 Spring对Bean管理的常用注解 Component组件(作用在类上) Spring中提供了Component的三个衍生注解:(功能在目前为止是一致的) Controller WEB层 Service 业务层 Repository 持久层 属性注入的注解:(使用注解注入的方式,可以不用提供set方法) Value 用于注入普…...

弟12章 网络编程
文章目录 网络协议概述 p164TCP协议与UDP协议的区别 p165TCP服务器端代码的编写 p166TCP服务器端流程 TCP客户端代码的编写 p167TCP客户端流程主机和客户端的通信流程 tcp多次通信服务器端代码 p168TCP多次通信客户端代码 p169UDP的一次双向通信 p170udp通信模型udp接收方代码u…...

【sklearn练习】模型评估
一、交叉验证 cross_val_score 的使用 1、不用交叉验证的情况: from __future__ import print_function from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifieriris…...

Gazebo的模型下载。
git clone zouxu634866/gazebo_modelshttps://gitee.com/zouxu6348660/gazebo_models.git,并完成路径配置。 (本文提供了gitee下载,国外的Github下载较慢。)...
MyBatis - DAO 接口(Mapper.xml)支持方法重载吗?
方法重载(Method Overloading)是指在同一个类中定义多个方法,它们具有相同的方法名但参数列表不同。 Dao 在 MyBatis 的 DAO 层接口中,是允许方法重载的。 在 DAO 层接口中,可以根据不同的需求和条件定义多个方法&am…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...