OpenMV学习笔记(1) Python基础语法

简介: Python,是一个很常用的语言,在图像处理,机器学习,网络编程中都使用非常广。而且Python是一个非常容易上手的语言,如果你有其他语言编程基础(例如C,C++,Java),会更容易上手。OpenMV由于采用了STM32H743作为主控芯片,其底层代码是C语言,而对于初学者,可以用Python进行二次开发。

前言


Python,是一个很常用的语言,在图像处理,机器学习,网络编程中都使用非常广。而且Python是一个非常容易上手的语言,如果你有其他语言编程基础(例如C,C++,Java),会更容易上手。OpenMV由于采用了STM32H743作为主控芯片,其底层代码是C语言,而对于初学者,可以用Python进行二次开发。


提示:以下是本篇文章正文内容,下面案例可供参考


一、输出


示例:输出print:  


print('hello, world')
print('The quick brown fox', 'jumps over', 'the lazy dog')
print(100 + 200)
 print('100 + 200 =', 100 + 200)


二、变量


无需定义变量类型,编译器可自动定义,这点与C语言有所不同


a = 123            //a是整数
print(a)
a = 'ABC'         //a变为字符串
print(a)


三、 控制语句


1.条件判断if


age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')


2.循环


  • for循环


names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)


如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可直接调用


sum = 0
for x in range(101):
    sum = sum + x
print(sum)


range()也生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始到小于5的整数


list(range(5))
 [0, 1, 2, 3, 4]


  • while循环


sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)


四、列表与元组


1.lift列表


与C语言的数组类似,元素易发生改变,列出班里所有同学的名字,就可以用一个list表示


classmates = ['Michael', 'Bob', 'Tracy']
—> classmates


用len()函数可以获得list元素的个数


len(classmates)


用索引来访问list中每一个位置的元素,记得索引是从0开始的


classmates[0]
—>'Michael'


如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素


classmates[-1]
—>'Tracy'


list是一个可变的有序表,所以,可以往list中追加元素到末尾


classmates.append('Adam')
  classmates
  —>['Michael', 'Bob', 'Tracy', 'Adam']


也可以把元素插入到指定的位置,比如索引号为1的位置


 classmates.pop()
—>  'Adam'


要把某个元素替换成别的元素,可以直接赋值给对应的索引位置


classmates[1] = 'Sarah'


2.tupile元组


与list类似,但tuple不能修改,安全性高,编程中尽量使用


 t = (1, 2)
  t
—>(1, 2)


tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如


t = (1)
 t
 —>  1


在这里定义的不是tuple,t是整型变量,变量t的值为1!这是因为括号()既可以表示元组,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。


所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:


t = (1,)
t
(1,)


五、函数


定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回


def power(x):
    return x * x
power(5)
25
power(15)
225


六、切片


取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下


L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']


取前3个元素,用一行代码就可以完成切片


 L[0:3]
['Michael', 'Sarah', 'Tracy']


在这里,L是从0开始,在3-1=2结束


总结


以上就是今天要讲的内容,本文仅仅简单介绍了Python的使用,相较C语言来说,Python用户体验更好

相关文章
|
1月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
56 4
|
11天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
234 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
139 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
1月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
150 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
21天前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
20 2
|
27天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
64 1
|
1月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
86 1
|
1月前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
64 0