该培训是零基础课程,所以是从最基本的内容开始学习的,python是一种解释性语言,语法易懂,容易上手,而且目前各种人工智能相关的库十分丰富,所以被广泛运用到嵌入式和人工智能方面。
首先第一部分是学习python基础:
python的编写方式: 1 命令行(很少使用) 2 脚本文件
python的数据类型:
@不可变数据:Tuple(元组) Number(数字) String(字符串)
@可变数据:List(列表) Set(集合) Dictionary(字典)
举例如下:
A) 数字/一般变量:a, b, c, d=20, 5.5, True, 4+3j #依次自动分配变量 d 为复数,isinstance(d, complex) == True type(b)为
加+ 减- 乘* 除/ 整除// 幂** 变量删除del 变量名
B) 字符串变量String:可用单引 ' 或双引 " 括起来,使用反斜杠 转义特殊字符(如'n'表示回车),不想转义的话,在字符串前加r(如r'n'表示n),字符串截取语法如下:变量名[头下标:尾坐标]
索引0为开始, -1为末尾开始位置
索引图
字符串索引示意图
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。示例如下:
#!/usr/bin/python3
str = 'Hello world'
print (str) # 输出字符串 Hello world
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符Hello worl
print (str[0]) # 输出字符串第一个字符 H
print (str[2:5]) # 输出从第三个开始到第五个的字符llo
print (str[2:]) # 输出从第三个开始的后的所有字符llo world
print (str * 2) #或 print (2 * str) 输出字符串两次,Hello worldHello world
print (str + "TEST") # 连接字符串Hello worldTEST
| C)列表List:示例:a = ['h', 'e', 'l', 'l', 'o']
列表可以和String一样截取,同时还支持步进设置,比如a[1:2:5]=['e', 'l'],此外,List中各个元素的数据类型可以不同也可以修改,List 相关操作:
删除第i个元素:del a | 更新第i个元素:a = 20 #新的值 | 用于循环迭代:for x in [1, 2, 3]: print(x, en) 或者for x in range(1,4): 其中range可以生成1-3的整数列表 | python关于list的相关函数:len(list)列表元素个数; max(list)返回列表元素最大值; min(list)返回列表元素最小值; list(seq)将元组转列表 | list的方法:
list.append(obj) #在列表末尾添加新对象 | list.extend(seq)用新列表扩展原来的列表 | list.copy()复制列表
list.clear()清空列表
| list.pop([index=-1])移除列表中一元素(默认最后一个)并返回该元素的值 | list.index(obj)从列表中找出某个值第一个匹配项的索引位置 | list.remove(obj)移除列表中某个值的第一个匹配项 | list.insert(index, obj)将对象插入列表 | list.count(obj)统计obj在列表出现次数
| list.insert(index, obj)将对象插入列表 | list.reverse()列表元素反转 | 接着因为嵌入式项目涉及到智能小车的控制(项目见CSDN博客:嵌入式树莓派智能小车相关),这中间涉及到条件控制(循环和条件控制)及函数等,总结如下:
1,循环语句:
一般循环:
格式 | 举例 | while counter <[=] condition:
statements
counter changes | cnt, sum = 1, 0
while cnt < 7:#计算1+2+···+6值
sum = sum + cnt;
cnt += 1
| for in :
else:
| for i in range(5):
print i
或者:for i in [0,1,2,3,4]:
print i
| 无限循环,多用于网络监听等任务,属于一旦启动服务需要时刻运行的情况:
格式 | 举例 | while (condition always true):
statements | while 3==3:
print "True"
| for (condition always true):
statements
| for 1 in range(3):
print "IN"
| 2,条件控制
条件控制,顾名思义,就是通过一条或多条语句执行结果来决定执行哪个代码块,主要是通过if else语句实现,同时,while不仅是循环语句,也是一种条件控制,在python中还支持else,语句一般形式及示例如下表:
语句一般形式 | 举例 | if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
| age = 3
if age <= 0:
print("age<=0时执行此块代码")
elif age < 2:
print("你不到两岁呢,2>age>=1执行")
elif age >= 2:
print("两岁了,age>=2执行")
| while :# expr条件满足
else: #expr条件不满足执行下面语句
| count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
| 3,函数:组织好,可重复使用的,用于实现某项功能的代码段
在python中定义一个函数,像其他语言一样,需要关键词,传参等,这里函数代码块以def关键词开头,后接函数标识符和圆括号(),圆括号用于传入参数及自变量设置,函数内容以冒号打头,在python中是以缩进来表示语句属于运行的哪个代码块的,不像C/C++,JAVA等是以大括号来表示,所以需要特别注意缩进,最后,需要return [表达式]结束函数(不加系统自动返回None),Python 定义函数一般格式如下:
函数定义格式 | def 函数名(参数列表):
函数体
| 函数示例 | # 计算面积函数
def area(width, height):
return width * height
w, h = 4, 5
print("width height area =", area(w, h))
|
- 特别提一下,python有个特殊的函数匿名函数,使用 lambda 来创建,所谓匿名,就是不是标准形式定义的一种函数。
lambda 只是一个表达式,函数体比 def 简单很多但仅能在lambda表达式中封装有限的逻辑进去。该函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。其基本格式如下:
基本格式 | lambda [arg1 [,arg2,.....argn]]: expression | 示例 | #!/usr/bin/python3
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 )) #输出30
| 接下来再继续整理一下该项目相关的python中的面向对象思想,模块,库以及线程等内容。
|
|
2021-12-27 10:17:57
评论
举报
|
|
|