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用户体验更好

相关文章
|
6天前
|
分布式计算 Python
Python函数式编程学习笔记
高阶函数是能接收另一个函数作为参数的函数,如Python的map()、reduce()和filter()。map()将传入的函数应用到序列每个元素并返回迭代器,如将整数列表转换为字符串列表。reduce()对序列进行累积计算,例如求和。filter()根据给定函数返回的真值保留或丢弃序列元素,常用于筛选。sorted()函数支持自定义排序,如按绝对值或ASCII值排序。此外,还包括返回函数、匿名函数(lambda)、装饰器(用于动态增强函数功能)和偏函数(partial),用于固定函数部分参数,简化调用。
9 1
|
3天前
|
数据采集 人工智能 自然语言处理
python语言的基础语法
严格来说python是先编译成字节码,然后再解释执行的一门语言。
13 7
|
6天前
|
Java C语言 C++
Python基础语法
Python基础语法
11 1
|
6天前
|
JSON 数据格式 索引
python之JMESPath:JSON 查询语法库示例详解
python之JMESPath:JSON 查询语法库示例详解
16 0
|
6天前
|
存储 Python
Python进阶语法之推导式
本章是对自己学完基础语法后,学习python进阶语法推导式过程中,自己的一些理解和看法,因为自己从刚开始第一次看看不懂,到学习一段时间后,通过积累再次看这里的知识点发现自己有了新的理解,这次将这部分知识学完了,剩下就是通过练习来达到熟练了.本章的推导式,包含列表推导式,字典推导式,集合与元组推导式这四种.主要是对python进阶语法推导式,的练习与理解,同时也提高了自己对代码的简化和运行的能力的提高,也是在这次学习中,我发现学习代码更多需要的是对基础和知识的积累,当眼界与思维突破瓶颈,看之前难以理解的事物发现变的容易去使用和理解了.
|
6天前
|
Java 开发者 索引
Python基础语法:类笔记
本篇博文是把自己在学习python类的过程中自己理解和笔记,一点一点总结的写出出来,做一个总结,加深对面向对象编程的理解。
|
6天前
|
Python
python中的语法错误
【4月更文挑战第23天】
21 3
|
6天前
|
测试技术 API 持续交付
【专栏】Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势
【4月更文挑战第27天】本文探讨了Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势。文章分为三部分:首先,阐述自动化测试的重要性及Python的易学性、库支持、跨平台和社区支持;其次,介绍了Python的Unittest标准测试框架和Pytest第三方框架的特点与用法;最后,讨论了Web UI和API自动化测试实践,并提出持续集成、测试金字塔等最佳实践。Python为软件开发的测试环节提供了强大支持,帮助构建更稳定的系统。
|
6天前
|
Python
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
|
6天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。