在第一讲中,我们初识了大蟒蛇 python,并且我们通过下载主程序,pip 库管理插件,以及脚本编辑器,搭建了初始的编程环境。
你可以把它变成想象成一个游戏,既然是游戏,就有它的规则和目标,遵守一定的规则,实现一定的目标,让你获得创造的成就和喜悦感。 笔者认为,这才是学习和创造的动力源泉。那就是,在自我创新中获得 满足感和成就感。
想和这只大蟒蛇交流其实并不难,正如人与人之间的交流一样,我们需要使用相同的语言进行交流。人和计算机的沟通也一样,你会把计算机想象成贾维斯,然后对着麦克风说:“帮我打开推进器!”,然后你会发现计算机在无视你,因为你没有让计算机理解你要让它做的事, 因此掌握编程语言的规则至关重要,掌握了 python 的规则,你就可以轻松地和这只大蟒蛇交流。
编程的目的是什么?编程是一种创造的过程,即通过输入,实现输 出,只要这个输出是有意义的,这就是编程。这点和神经网络,人工智 能都有相似之处。所谓的神经网络和人工智能,其实就是通过大量的数 据训练计算机,使其自动输出达到令人满意的程度。
下面我们来编写一个最简单的程序:
打开上一章我们安装的脚本编辑器 geany,新建 test.py 文件
这里注意要保存为.py的文件,这样geany才能将这个文件认定为
python 可以支持的文件!
之后我们输入:print("hello")
程序编写完成!依次点击编译——执行(或依次点击F8、F5功能键)。
点击编译——执行(或依次点击F8、F5功能键),大蟒蛇已经输出了我们想要的 hello 字符文本啦:)
如果有编写的语法错误时,当你点击编译后,在 geany 的下方信息框中会显示有具体语法错误的具体行数。你需要将错误排除掉,记住这里大蟒蛇只会检查语法错误,不报错并不代表程序段是完整无误的,是 否可以达到自己构想的功能,需要不断地改进代码,这将会是一个比较 有挑战性的过程。
大部分的报错基本都是格式的错误,即缩进的格式不对,下面会具体说。
我们会发现,在输出界面打印了 hello,这就是一个有意义的编程,是不是非常简单呢?
我们希望计算机打印我们想要说的话,于是,我要输入 python 可以识别的语言:print("xx")
于是,功能实现了,这就是一个最简单的程序。怎么样,编程其实 很简单吧,下面我们正式开始学习 python 语言规则喽!
这篇培训,其实只涉及到了 python 脚本命令很少一部分知识,使得我们可以在机器人编程中,运用这些知识。如果你想系统掌握全部的python 知识,我建议你在B站搜索“python编程知识”即可了解更多。
在学习每几条命令和知识后,我们会进行一个小测试,以考验你的活学活用的能力,不要紧张,按照自己的想法去尝试就可以啦!(文章最后会附有答案)
在下面的语言规则命令中,我们把将用多个英文字母如 A,B, C,a,b,c 等进行演示和举例:
1. 输出信息: print("A")
这里需要注意,python 中所有的语法标点,诸如' "" : 等均需要使用英文的标点符号!
这个我们已经演示过,打印我们想要说的话。如下:
我们可以将其拓展:如果在实际运行程序中,随意输入一段话, 并让大蟒蛇帮我们打印出来呢?
message=input("please input:")
print(message)
屏幕上会显示 please input:
你可以在后面你想输入的话。(这里我们输入 hello)
这样 message 就是我们输入进去的话(字符串,例如 hello), 我们可以要求大蟒蛇将我们输入进去的话打印出来,这就实现了人和机器的一种最简单的互动交流。
2. 导入必要的库 import xx (import 后面是空格,xx 代表相应的库名称)
在很多复杂的程序中,需要我们导入不同的库,如时间库 time, 函数库 numpy 等,如果不提前导入,执行相应的命令时就会报错,因此,我们需要输入
import time
import numpy
当然我们也可以使用一个常用的命令,试想如果我们如要导入一个名字特别长的库,但是之后又要频繁调用,我们就会遇到下面的情况:
import 大姨家的姑娘的婶子家的二侄媳妇儿的孙子媳妇的闺女的大姑子姐的老婆婆
大姨家的姑娘的婶子家的二侄媳妇儿的孙子媳妇的闺女的大姑子 姐的老婆婆.()
这样输入是不是太辛苦~
怎么办呢?不要慌张,我们可以利用命令,自定义这个库的名称,这样以后调用起来就方便多啦:(比如我们调用 ABCDE 这个库)
import ABCDE as a
这样我们在之后的编程中,调用a就可以实现调用 ABCDE的目的啦,相当于把 ABCDE重命名为 a!是不是很方便呢?
3. 定义变量并输出
我们可以对一个变量提前定义,并将其打印,也就是输出,比如:
message="A"
print(message)
4. 首字母大写 .title()
一般对于人的英文名,需要进行首字母大写,可以作如下操作:
name= "tom "
print(name.title())
或
name1=name.title()
print(name1)
小提示:在这里tom一定要用""进行括住, 且name1就是对原有变量name进行了重新的定义和赋值,编程最重要的一点就是活学活用!
5.字母全部大写 .upper()
name="abc"
print(name.upper())
6.字母全部小写.lower()
name="abc"
print(name.lower())
7. 合并字符串并一起输出(格式化输出)
第一种方法:用+分割字符
full="A"+" "+"B"
print(full)
或者
name1="dog"
name2="cat"
print(name1+","+name2)
第二种方法:在文本末尾链接字符,这种方法是最常用的,例如:
a='Jack'
print('His name is %s.' % a)这里用%s表示字符,在末尾链接想要链接的字符
我们用%d链接数字,例如:%s链接字符,%d链接数字
8.输入字符回车换行
请按照示例,输入这个命令并运行这个程序
print("dog\n")
你发现了什么?
你会发现\n,也是我们最常用的,完成了换行操作。这里我们稍作引申:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示 1 和 0),例如,像a、b、c、d 这样的 52 个字母(包括大写)以及 0、1 等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了 ASCII 编码,统一规定了上述常用符号用哪些二进制数来表示。
因此其中的\n 就是对应跳格,回车和换行的转义字符啦,更多的转义字符如下,只需了解到此即可:
或许你会注意到,如果你在 message=input("please input: ")运行时输入中文字符,会出现报错。python 难道不兼容中文输入吗?其实不是,早期的 python 只支持 ASCII 编码,如果我们想要实现中文输入,就需要:
(1) 在所对应的的文本编辑器,这里我们用的是 geany, 编辑——首选项——文件中作如下设定
(2) 在 python 命令的第一行输入这两行注释:
#!/usr/bin/env python
#coding=utf-8
做这两步的目的在于:
告诉 python 编译器,用 UTF-8 编码读取源代码。这样我们就可以实现中文的注释和输入输出。
9.将数字转变为字符串输出
age=23
message=str(age)+"A"
print(message)
这里需要注意的是,为什么我们不能直接把输出命令写成:
print(age+”A”)
你可以试一下,会发现:不妙,产生了报错信息,为什么呢?
前面我们提到过,想和 python 交流,你就需要使用python能看懂的语言,我们通常表示的数字其实不是字符,而数字格式。如果直接让大蟒蛇输出,它会搞不懂你想让它输出的是二十三 23 还是二三23,但实际效果都是一样的。所以我们需要先转变为字符形式才能输出,也就是把我们想输出的“二十三 23”转变为“二三 23”字符形式,这样才可以无报错的输出,所以学习变成主要是一种计算器思维的培养。
于是,我们使用命令 str(),将 23 这个数字转变为字符,就可以无报错的输出啦!
10.编写注释 #A(请注意:该行均为注释)
注释在 python 中会自动标为红色,目的是帮助编程者或查看代码的人更清楚的明白代码的意义,通俗来讲,就是一种注释。
学到此时,我们已经掌握了一些基础的“大蟒蛇”可以理解的命令,并可以初步玩转文本,下面我们模拟一个相对较为简单的实例:
小测验
Tom 需要使用 python 编程,按照一定的格式输出一些同学信息和他们宠物的信息,每行输出信息换行,并需要加入一定的注释。信息如下:
Mary:12 year-old dog: bean
Mike:10 year-old cat: kitty
Jessica: 11 year-old spider: cookie
Xxx is xx years old, and his/her pet is xx named xx.
下面的时间交给你啦,完成这个小测验吧,可以从不同角度出发 进行命令行的编写。(后附参考答案)
小测验参考答案:(答案不唯一)
#定义变量
m1=Mary
m2=Mike
m3=Jessica
m4=bean
m5=kitty
m6=cookie
#打印相关信息,并在结尾处添加换行号
print(m1+” is 12 years old, and her pet is dog named ”+m4+” .\n”)
print(m2+” is 10 years old, and his pet is cat named ”+m5+”.\n”)
print(m3+” is 11 years old, and her pet is spider named ”+m6+” .\n”)
接下来欢迎阅读《python树莓派系列教程二(python语言入门篇2:有趣的"列表和元素")》
感谢你的阅读!