一篇了解python

海康VisionMaster表面缺陷滤波实战:从参数调优到工业检测避坑指南 本文深入探讨海康VisionMaster表面缺陷滤波技术在工业检测中的应用,从参数调优到ROI绘制与Blob分析的协同策略,提供金属外壳、锂电池铝壳等复杂表面的缺陷检测实战指南。通过多级滤波架构和动态ROI生成法,显著提升检出率至98.7%,误检率低于0.5%,为工业质检提供智能化解决方案。 阅读详情

本文针对有一定其他编程语言知识的人,侧重在python特有的地方:

Python基础

针对有c++等语言基础的人,着重指出不同点

变量:

变量运算

Python变量不需要声明,也不需要指出变量类型。

除了常用的运算外,**表示幂运算,并不是^;

\\ 表示整除运算,只返回商的整数部分

 

并且python支持多条件比较,比如0<=middle<10

不同类型的变量是不能用大小比较的,但是支持==和!=比较

浮点类型和整数类型虽然不是同一种类型,但是可以进行比较

print(3.0>1)

结果为True

 

在Python中同样支持True =1; False=0,因此可以进行计算print(True+True-False)得到2;

 

 

in  is is not

把in放在两个对象之间,可以判断前者是否在后面的集合对象中。字符串类型、列表等有集合属性的都可以用。示例见list部分

is 和is not 表示身份鉴别的布尔运算符。在python中任何一个对象都要满足身份(identity)、数据类型(type)、值(value)这三者。is就是用来身份对比的。

 

       ==VS is

==是比较运算符,用来比较两个对象的值是否相等

is又叫同一性运算符,这个运算符比较的是对象间的唯一身份标识。

a=[1,2,3]
b=[1,2,3]
print(a==b,a is b)

得到的结果分别是True和False。不过若换作是字符串类型,由于其存储的特殊性,两个运算的结果都是True

 

 

python中所有变量都可以判断其布尔值,除了0、None、空的序列与集合(空字符串空列表等)外,其他都是True,可以由bool()函数来判断

字符串类型

表示和运算:

不区分单引号和双引号的,可以直接用加号进行连接。Str = ‘aaa’;len(str)可以得到字符串长度;除了做加法,可以与整数相乘,比如str*3,会得到aaaaaaaaa

除了可以像c++ string一样的索引,即str[0]这样,还可以一次截取一段连续的:

Str=’aaaaaaaaaaaaaaaaa’;  print(Str[2:5])会输出第2个到第4个(从0开始的索引);甚至还可以用负索引,最后一个字符的索引是-1,倒数第二个是-2等等,print(Str[-5,-2])可以输出倒数第5个到倒数第3个。

 

Python中没有分号,而是使用缩进,所以同一行如果太长了想换行,要用\并且下一行缩进。在IDE中一般可以直接回车。

 

字符串类型还有一些内置的方法,比如replace()、find()

 

字符串格式化符,{}有点类似%d的占位作用,后面在点后跟format()举个例子:

print('{} is a good {}'.format('A','b'))

输出 A is a good b

还可以用数字指出分别填充哪个位置:

print('{1} is a good {0}'.format('A','b'))

还可以用一些名字来指明:

print('{name} is a good {name2}'.format(name='A',name2='b'))

 

有一些基本的类型转化函数,如str()  int()  float()等,不需要cast等强制类型转化

 

Python3以上的版本,输出函数是print(),中间可以有多个,用逗号隔开,默认是以空格间隔,如果想多个参数之间用换行的话可以加:

print('a=1','b=2',sep='\n')

 

函数

def 关键字定义函数。注意后面要加冒号,后面的函数体要缩进。其他语言通常是用大括号的,但是python没有

初次接触时冒号非常容易忘记。

def 函数名(参数):

       …

       return…

def func(b):
     c = b+2
     return c
print(func(4))

当不写return时返回的就是None

 

有多个参数时,一般c++中是按照顺序(当然类型要一致),但是Python中可以用形参指明位置:

def func(b,d):
     c = b+d
     return c
print(func(d=4,b=2))

这种叫关键词参数。在正序的时候两种传入甚至可以混用,但是当输入参数顺序与形参不一致时,必须全都使用关键词参数。

 

 

 

文件

open()打开文件,两个参数,文件路径和打开方式。

 

没写绝对路径,所以会在当前工作空间打开(没有的话会新建)一个文件,write函数可以直接向该文件中写入。

最后记得file.close()关闭文件

循环与控制结构:

if:

if condition:

[缩进]do sth.

elif condition:

[缩进]do sth

else:

[缩进]do sth

       通常其他语言是没有elif关键词的,自己的体验就是,如果不要IDE非常容易忘记冒号。

for:

for item in iterable:

[缩进]do stn

其中item是自己起的名字,表示后面课迭代集合中的一项,是可以在循环体中使用的名字。iterable就是可迭代的对象,列表啊数组一类。也是有冒号的。

while:

while condition:

[缩进]do sth

并不信箱,除了冒号跟很多其他语言的格式是一样的

 

内置数据结构:

python四种内置数据结构:列表、字典、元组、集合。

简单来讲,分别长这样:

lists=[1,2,"a",2.0,[1,2,4],print(1)]
dic = {
1:'a',2:'b'}
tuple =(
1,2,3,4,5)
set={
'a','b','c','d'}

 

 

列表

list[],有点像数组,但是各种类型都可以往里面放,甚至可以放新的列表。用list.append()就可以向列表尾部中新添加数据。索引与字符类型的相似。

newList=['a',1]
newList.append(2.0)
print(newList[-1],newList[1])

 

 

in

print('a'in newList)

可以输出True

In 关键字后面是一个集合形态的对象

 

 

列表中可以容纳python中的所有对象类型,并且可以被索引,如lists[0]

操作:

插入:lists.insetr(位置,待插入元素)

删除:lists.remove(要删除的元素),也可以用lists[0]=3直接替换掉原来0位置处的元素

索引:也是可以正反两个方向索引

 

 

Sorted()函数,会将列表复制一份,然后排序(但是列表里的元素得是可以互相比较的。)

zip()可以打包处理多个列表:

lists=[1,2,"a",2.0,[1,2,4],print(1)]
newlist=[
1,2,3,4,5]

fora,bin zip(lists,newlist):
   
print(a,'and',b)

不过是以最短的列表长度为对应的循环次数。

结果:

1 and 1

2 and 2

a and 3

2.0 and 4

[1, 2, 4] and 5

 

 

列表推导式:

li=[ifor i in range(1,10)]

for a in li:
   
print(a)

会输出1-9

也就是lists = [item for   item in iterable]

 

在循环列表同时得到元素的索引:

Python特有的函数enumerate

fornum ,itemin enumerate(lists):
   
print(num,item)

 

字典

字典的特征是每个元素都是一对键-值对。键不可重复而值可以。键不可变而值可变,且值可为任意类型。

插入:

可以用这样的方式进行字典的插入:

dic['d']='e'
print(dic)

还可以用这样的方式进行批量插入:

dic.update({4:'a','e':6})
print(dic)

删除:del方法

deldic[2]

索引:仍然是用中括号,但是不能切片,中括号中放的一定是键,只能通过键来索引

元组

相当于固定的列表,是不可以修改的——不能增加或删除,但是可以索引

集合

无序的、不重复的。不能被切片也不能被索引。可以做集合运算、添加和删除。

set.add('e')
set.discard(
'a')

print(set)

 

 

第三方库

可以再awesome-python.com上查找python库。

安装python库:

可以利用IDE如Pycharm,file->default settings->进入project interpreter,选择当前的python版本,点击添加,然后搜索库->勾选并install

可以在project interpreter里查看安装了什么库

 

也可以在终端中pip install 库名来安装


条件:

python中经常会有非常简单的条件表示:

[w for w in W if condition]

就会保存所有W中符合条件condition的w到列表中

对每个元素进行操作:

[f(w) for ...]  或[w.f() for ...]

如:w.lower() for w in text1


Windows下ArduPilot SITL仿真环境搭建与QGC地面站联调全攻略 软件在环仿真(SITL)是无人机开发中的关键一环,它通过将飞控固件运行在PC上,用数学模型模拟传感器数据,实现无硬件依赖的飞行逻辑验证。这项技术不仅降低了试错成本,更为地面站开发、自动化测试和任务规划提供了安全可控的试验场。在工程实践中,MAVLink协议作为飞控与地面站之间的通信桥梁,贯穿仿真、遥测与指令控制全程。结合QGroundControl(QGC)这一主流地面站,开发者可以直观地观察飞行状态、规划航点并记录日志。本文以Windows原生环境为例,详细介绍ArduPilot SITL的搭建流程、MA 阅读详情

相关推荐

Chromium实用技巧篇-如何下载指定版本的Chromium(一)

通过本指南,您已成功掌握如何在Windows系统上下载并安装最新版本的Chromium浏览器。我们详细介绍了从进入Chromium官网,到查找最新版本号,再到下载和安装的每一个步骤。通过这些步骤,您不仅能够体验到最新的浏览器功能,还可以参与开源项目的开发,享受高速、稳定、安全的浏览体验。

守城小轩的技术窝棚 1万+

【2024】Python入门,详细基础教程,零基础入门,详细图文

Python入门基础介绍

weixin_42399800的博客 17万+

AUTOSAR入门

一、AUTOSAR是什么 AUTOSAR组织自己的介绍是 AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development partnership of vehicle manufacturers, suppliers, service providers and companies from the automot...

天涯遍地是小草的博客 3万+

python的for i in list 陷阱

d = [1,2,3,4,5] for i in d: d.remove(i) print d结果是 :[2, 4]这个陷阱比较隐蔽,我再用白盒子测试的时候,发现了这个bug,大致原因就是remove d[0]之后,i 自动变成了 d[1], 但是 d已经变成了 d[2,3,4,5],所以i=d[1]就悲催的指向了3,跳过了2!看来python还是要注意了解底层实现啊!解决办法是:d = [

Silly2016的博客 2万+

投第一篇SCIE英文期刊(详细步骤)

一个投稿SCIE英文期刊的过程

weixin_48849679的博客 1万+

MRI多序列,多中心数据集预处理--使用FSL-Flirt 配准数据

FLIRT(FMRIB 的线性图像配准工具)是用于线性(仿射)模态内和模态间脑图像配准的全自动稳健且准确的工具。 什么是配准 在这两张图片上,很容易看出它们没有对齐,左边相对右边倾斜,虽然我们人类视觉系统还是能把对应的解剖关系连系在一起,但是我们使用计算机分析时确不能够 因此,我们希望相同的解剖结构对齐,用坐标表示的话,希望他们在相同的坐标上。如下图 对齐这些解剖结构的过程就叫做配准(register) 因此,配准的目的也是使相同的解剖结构在同一个位置,便于分析。可以将CT和MRI配准,看同一结构在两个

Tina姐的博客 1万+

伪元素::before的简单使用

:before是元素内的第一个子元素,和::after元素内的最后一个元素。蓝色柱条就是位于title元素中的第一个元素。

Tonghanhan的博客 768

FRM模型五:Brinson业绩归因

利用Brinson对基金组合业绩进行归因分析。

stonesssssss的博客 3003

Python笔记——对python的理解_我对python的理解

注意当使用 from package import item 这种形式的时候,对应的 item 既可以是包里面的子模块(子包),或者包里面定义的其他名称,比如函数,类或者变量。就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。除非是你要导入的子模块有可能和其他包的子模块重名。python功能丰富,轮子多,不用自己实现,模块化,方便调用,使用者多,学习曲线平坦;比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B。

a25847a的博客 907

多尺度仿真软件:Copasi_(1).Copasi概述

Copasi(Complex Pathway Simulator)是一款开源的多尺度仿真软件,专为生物化学、系统生物学和合成生物学领域的研究人员设计。它不仅能够模拟细胞内和细胞间的生化反应网络,还能处理代谢途径、信号传导途径和基因调控网络等多种复杂系统。Copasi提供了用户友好的图形界面和强大的命令行接口,支持多种仿真算法和分析工具,使用户能够高效地进行模型构建、仿真和分析。Copasi允许用户创建自定义报告,以便生成特定格式的仿真结果。用户可以通过图形界面或命令行创建自定义报告。

kkchenjj的博客 856

CarSim仿真快速入门(十八)-CarSim2021中的混合动力和纯电动系统

CarSim和TruckSim包括用于电动汽车(BEV)和混合电动汽车(HEV)的动力总成系统。电动和混合电动系统可与所有现有驱动系统配合使用,例如:FWD,RWD,AWD和多轴驱动系统。混合动力/电动系统模型还包括电池管理控制。CarSim或TruckSim中的默认动力总成是为闭环速度控制器提供的备用动力总成。要安装和使用完整的动力总成,请从Vehicle: Assembly库或Vehicle: Lead Unit 库链接到Powertrain数据集。在“动力总成”界面上,从下拉列表控件中选择以下三个选项

小明师兄的博客 7455

Python究竟是什么?你确定真的了解Python了嘛?

1、python到底是什么? Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,**简单来说,Pyhton就是一门编程语言!**但是它能提供高效的高级数据结构,还能简单有效地面向对象编程。Python作为目前热门的程序语言,拥有着超高的人气,并且Python和目前热门的人工智能有这密切相关的联系。 2、为什么大多数人选择学Python? 如今有很多的人学编程语言都会首选Python,为什么呢?因为Python相对于其他的语言比较容易上手些,是很适合编程初学

weixin_56537764的博客 3260

Python爬虫实战:逆向解析腾讯视频API,高效获取结构化视频信息

首先,我们定义期望获取的数据结构,这有助于数据验证和代码清晰度。python"""腾讯视频信息数据模型"""title: str = Field(..., description="视频标题")vid: str = Field(..., description="视频唯一ID")play_count: Optional[int] = Field(None, description="播放量")

2201_76125261的博客 2379

一篇文章带你了解Python

Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫作ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

weixin_73993191的博客 229

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python是什么?一篇文章带你全面了解python

Python可以说是现在最热门的程序语言,拥有超高的人气。随着大数据分析的火热,人工智能的追捧, 已经成为最受欢迎的程序设计语言之一。

xx16755498986的博客 5403

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

了解Python——一篇文章就够了!

前言 ​ 偶然在知乎上看到了一些好玩的Python项目(学 Python 都用来干嘛的?),让我对Python产生了些许兴趣。距离北漂实习还有两个月时间,正好可以在这段空闲时间里学一学。如果能做出些小工具,说不定对工作还有帮助,何乐而不为呢? ​ 关于环境的安装和IDE就不多说了,网上有很多教程。这里贴出一篇博客,大家按里面的步骤安装就行:VSCode搭建Python开发环境。使用VSCode主要是因为免费,而且有大量插件可以下载,大家可以尽情的定制自己的IDE。如果曾经没有使用过VSCode,最好多了

jia8267166的博客 531

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Python是什么?一篇文章带你全面了解Python

Python是一种计算机程序设计语言。 你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Java语言等,Python是他们其中的一种。...

BeWorkingMan的博客 5658

什么是python,一篇带你详细了解Python

Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python是一种跨平台的计算机程序设计语言,是ABC语言的替代品,属于面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。C++:C++语言保留了C语言的有效性、灵活性等特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地模拟现实问题的过程和操作。

weixin_43878963的博客 819

一篇文章了解Python多进程

1.Python多进程模块 Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象。这个进程对象的方法和线程对象的方法差不多也有start(), run(), join()等方法,其中有一个方法不同Thread线程对象中的守护线程方法是setDeamon,而Process进程对象的守护进程是通过设置daemon属性来完成的。 下面说说Python多进程的实现方法

程序员鑫港的博客 1071

一篇文章让你完全了解python修饰器

文章目录说明修饰器 从入门到…了解? 自信一点 ,到熟悉。。。修饰器介绍修饰器的简单作用定义修饰器使用修饰器扩展内容 说明 因为是跟着视频学习的,视频里说的内容有限,基本上说的内容我都会去网上找资料单独加深扩展一下,但修饰器真的难住我了,听着视频里说 修饰器如何如何牛逼,网上找资料,也说修饰器如何如何牛逼,但就因为修饰器如何如何牛逼,所以我刚开始才连用都没法正确使用吗? 无论是视频还是网上的博客,说修饰器的时候 都只说了修饰器是什么,以及修饰器使用,却没人说 修饰器注意事项,导致刚开始接触修饰器的人 会碰壁

崔崇鑫的博客,你linux/云运维工作中的百科全书。 1079

【Python基础】学习Python之后,必须要了解PyCharm的知识,一篇文章带你了解PyCharm!!!

定义:PyCharm是一款功能强大的Python IDE,提供代码自动补全、代码提示、一键式重构、调试、版本控制等多种功能。特点:跨平台(支持Windows、Mac、Linux)、内置Python分析器、支持虚拟环境、集成单元测试、代码覆盖率工具等。官网JetBrains官网。

2401_86939578的博客 1498

python是什么?python能干什么?一篇文章让你了解python的本质

python是什么?python能干什么?一篇文章让你了解python的本质 Python 可以运用到很多地方。从入门级小白到专业级的大佬,数据挖掘、科学计算、图像处理、人工智能,Python 都可以胜任。正是因为这种万能属性,现在有很多的小伙伴都开始学习 Python。 现在, Python 的火爆已经到了程序员的圈子外,进入了国务院《新一代人工智能发展规划的通知》里,Python 也...

lamehd的博客 1394

Python 中文叫啥?一篇文章带你深入了解

摘要:Python中文名为"蟒蛇"或"派森",是一门简洁易读的解释型编程语言,具有动态类型和丰富的库支持。其应用领域广泛,包括Web开发、数据分析、人工智能等。作为入门友好的语言,Python适合编程新手学习,专业平台如编程狮提供从基础到进阶的系统教程。

爱编程的鱼的博客 1685

Python是什么?Python能干什么?一篇文章让你了解Python的本质

Python是什么?Python能干什么?一篇文章让你了解Python的本质 用到Python 的地方非常多。无论是从入门级小白到专业级的大佬,数据挖掘、科学计算、图像处理、人工智能,Python 都可以胜任。 或许是因为这种万能属性,现在有很多的小伙伴都开始学习 Python。 而现在 Python 的火爆已经来到了程序员的圈子外,进入了国务院《新一代人工智能发展规划的通知》里。 Python...

weixin_46560396的博客 356

什么是Python爬虫?一篇文章带你全面了解爬虫

爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友提供优质的搜索服务的。

weixin_72959097的博客 5078

什么是python基础语法?一篇文章让你更加了解python

小伙伴们大家好呀,还在学习的python自动化测试的小伙伴们不知道你们对于python是否熟悉呢,对于python的基本语法又知道多少呢?今天笔者呢想写一篇python基础语法介绍的文章,这篇文章呢主要介绍python的一些基础语法,包括标识符的定义、行和缩进、引号和注释、输入输出、变量的定义。

jjhhggg的博客 167
上一篇: 小于等于n的素数的个数(埃式筛选法和欧拉筛选)
下一篇: Windows下批处理修改文件名以及删除文件中重复名
BeforeEasy
博客等级 码龄10年 92粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值