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填充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/239926.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 Python3 中使用变量

介绍 变量是一个重要的编程概念&#xff0c;值得掌握。它们本质上是在程序中用于表示值的符号。 本教程将涵盖一些变量基础知识&#xff0c;以及如何在您创建的 Python 3 程序中最好地使用它们。 理解变量 从技术角度来说&#xff0c;变量是将存储位置分配给与符号名称或标…

AI对决:ChatGPT与文心一言的深度比较

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 引言ChatGPT与文心一言的比较Chatgpt的看法文心一言的看法Copilot的观点chatgpt4.0的回答 模型的自我评价自我评价 ChatGPT的优势在这里插入图片描述 文…

mathtype2024版本下载与安装(mac版本也包含在内)

安装包补丁主要是mathtype的安装包&#xff0c;与它的补丁。 详细安装过程&#xff1a; step1&#xff1a; 使用方法是下载完成后先安装MathType-win-zh.exe文件&#xff0c;跟着步骤走直接安装就行。 step2&#xff1a; 关闭之后&#xff0c;以管理员身份运行MathType7PJ.exe…

Jsqlparser简单学习

文章目录 学习链接模块访问者模式parser模块statement模块Expression模块deparser模块 测试TestDropTestSelectTestSelectVisitor 学习链接 java设计模式&#xff1a;访问者模式 github使用示例参考 测试 JSqlParser使用示例 JSqlParse&#xff08;一&#xff09;基本增删改…

Linux 系统编程:文件系统的底层逻辑 - inode

《Linux 程序设计》的第三章讲文件操作。在提到 目录 时有这么一段文字&#xff1a; 文件&#xff0c;除了本身包含的 内容 以外&#xff0c;它还会有一个 名字 和一些 属性&#xff0c;即“管理信息”&#xff0c;包括文件的创建 / 修改日期和它的访问权限。这些属性被保存在文…

用LED数码显示器伪静态显示数字1234

#include<reg51.h> // 包含51单片机寄存器定义的头文件 void delay(void) //延时函数&#xff0c;延时约0.6毫秒 { unsigned char i; for(i0;i<200;i) ; } void main(void) { while(1) //无限循环 { P20xfe; …

图像分类 | 基于 Labelme 数据集和 VGG16 预训练模型实现迁移学习

Hi&#xff0c;大家好&#xff0c;我是源于花海。本文主要使用数据标注工具 Labelme 对自行车&#xff08;bike&#xff09;和摩托车&#xff08;motorcycle&#xff09;这两种训练样本进行标注&#xff0c;使用预训练模型 VGG16 作为卷积基&#xff0c;并在其之上添加了全连接…

el-date-picker组件设置时间范围限制

需求&#xff1a; 如图所示&#xff0c;下图为新增的一个弹层页面&#xff0c;同时有个需求&#xff0c;日期选择需要限制一个月的时间范围&#xff08;一月默认为30天&#xff09;&#xff1a; 查看官方文档我们需要主要使用到如下表格的一些东西&#xff1a; 参数说明类型可…

FFmpeg之SWScale

文章目录 一、概述二、函数调用结构图三、Libswscale处理数据流程四、重要结构体4.1、SwsContext4.2、SwsFilter 五、重要函数5.1、sws_getContext5.1.1、sws_alloc_context5.1.2、sws_init_context 5.2、sws_scale5.2.1、SwsContext中的swscale()5.2.2、check_image_pointers5…

8个Python必备的PyCharm插件

大家好&#xff0c;在PyCharm中浏览插件列表并尝试很多人推荐的插件后&#xff0c;总结了几个瑰宝插件&#xff0c;它们各自以独特的方式帮助开发者快速、简便、愉悦地开发&#xff0c;接下来将逐个介绍它们。 1. Key Promoter X 【下载链接】&#xff1a;https://plugins.je…

【Python数据可视化】matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果

文章传送门 Python 数据可视化matplotlib之绘制常用图形&#xff1a;折线图、柱状图&#xff08;条形图&#xff09;、饼图和直方图matplotlib之设置坐标&#xff1a;添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值matplotlib之增加图形内容&#x…

Vue3+ElementPlus实例_select选择器(不连续搜索)

1.开发需求 在各大UI框架的select选择器中&#xff0c;在搜索时都是输入连续的搜索内容&#xff0c;比如“app-store”选项&#xff0c;你要输入“app-xxx”&#xff0c;才能匹配这个选择&#xff0c;要是想输入“a-s”这种不连续的匹配方式&#xff0c;就实现不了&#xff0c…

电脑安装 Python提示“api-ms-win-crt-process-l1-1-0.dll文件丢失,程序无法启动”,快速修复方法,完美解决

在windows 10系统安装完python后&#xff0c;启动的时候&#xff0c;Windows会弹出错误提示框“无法启动此程序&#xff0c;因为计算机中丢失了api-ms-win-crt-process-l1-1-0.dll&#xff0c;尝试重新安装该程序以解决此问题。” api-ms-win-crt-process-l1-1-0.dll是一个动态…

软件架构之事件驱动架构

一、定义 事件驱动的架构是围绕事件的发布、捕获、处理和存储&#xff08;或持久化&#xff09;而构建的集成模型。 某个应用或服务执行一项操作或经历另一个应用或服务可能想知道的更改时&#xff0c;就会发布一个事件&#xff08;也就是对该操作或更改的记录&#xff09;&am…

新增PostgreSQL数据库管理功能,1Panel开源面板v1.9.3发布

2024年1月15日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.9.3版本。 在这一版本中&#xff0c;1Panel新增了PostgreSQL数据库管理功能&#xff0c;并且支持设置PHP运行环境扩展模版。此外&#xff0c;我们进行了30多项功能更新和问题修复。1Panel应用…

IDEA 2022.3.3 安装教程

1.下载2022.3.3版本IDEA 链接&#xff1a;https://pan.baidu.com/s/1z-Yfl7fWHgqz8SQLn2-u0g?pwd949u 提取码&#xff1a;949u 2.安装 下载完成后&#xff0c;双击exe安装包&#xff0c; 点击next 3.选择方式3 4.将下面文件复制到任意位置&#xff08;不要有中文路径&…

Java 使用 EasyExcel 爬取数据

一、爬取数据的基本思路 分析要爬取数据的来源 1. 查找数据来源&#xff1a;浏览器按 F12 或右键单击“检查”打开开发者工具查看数据获取时的请求地址 2. 查看接口信息&#xff1a;复制请求地址直接到浏览器地址栏输入看能不能取到数据 3. 推荐安装插件&#xff1a;FeHelper&a…

【Debian】非图形界面Debian10.0.0安装xfce和lxde桌面

一、安装 1. Debian10.0.0安装xfce桌面 sudo apt update sudo apt install xfce4 startxfce4 2. Debian10.0.0安装lxde桌面 sudo apt-get install lxde安装后重启电脑。 二、说明 XFCE、LXDE 和 GNOME 是三个流行的桌面环境&#xff0c;它们都是为类 Unix 操作系统设计…

JMeter笔记(三)

个人学习笔记&#xff08;整理不易&#xff0c;有帮助点个赞&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一&#xff1a;参数化方法 1&#xff09;用户定义的变量 2&#xff09;函数助手 3&#xff09;…

【Rust学习】安装Rust环境

本笔记为了记录学习Rust过程&#xff0c;内容如有错误请大佬指教 使用IDE&#xff1a;vs code 参考教程&#xff1a;菜鸟教程链接: 菜鸟教程链接: Rust学习 Rust入门安装Rust编译环境Rust 编译工具 构建Rust 工程目录 Rust入门 安装Rust编译环境 因为我已经安装过VSCode了&am…