Python3简明教程(一)—— 开始Python之旅
第一个Python程序
作为我们第一个Python程序——打印"Hello World!"。
在终端输入Python3进入交互界面:
输入print("Hello World!")并回车,就打印出了"Hello World!"

如何退出解释器呢?可按 Ctrl+D 输入一个EOF字符来退出解释器,也可以输入 exit() 来退出。
解释器与脚本文件
Python是一个编程语言,你可以在Python解释器中直接写代码或者将代码写到一个文件里,然后执行这个文件(即脚本文件)。
打开终端,输入Python3并回车,这时候解释器便工作于交互模式。
将上面的程序写成脚本的形式,可通过 vim helloworld.py 命令,如下:
#!/usr/bin/env python3
print("Hello World!")
其中第一行的前两个字符 #! 称为 Shebang,目的是告诉shell使用Python解释器执行其下面的代码。
写好后保存并退出,发现并不能直接运行(权限不足的错误),所以先要为文件添加可执行权限:
chmod +x helloworld.py
注:在这里使用了linux下的chmod命令来变更文件或目录的权限,+x 代表赋予了其可执行的权限。
然后执行脚本文件:
./helloworld.py
注:./ 表示当前目录下
这里请注意如果程序中没有 #!/usr/bin/env python3 的话,应该使用 python3 helloworld.py 来执行,否则使用 ./helloworld.py 程序会被当作bash脚本来执行,最终报错。关于解释器和脚本文件详情请参阅shell脚本编程。
代码风格建议
在Python中,空格很重要,我们使用空格将标识符区分开,行开始处的空格我们称之为缩进,如果你的缩进是错误的,Python解释器会抛出异常。例如下面情形:
>>> a = 12
>>> a = 12
File "<stdin>", line 1
a = 12
^
IndentationError: unexpected indent
这是因为在第二行开始处出现了多余的空格,所以需要经常检查代码的缩进。请注意,Python使用缩进来定义语句块,缩进是Python语法的一部分,这与其它大多数语言不同。
如果你在代码中混用了制表符和空格,这种缩进错误会很常见。所以如果是用空格,就一直用空格缩进,不要使用制表符。
建议遵循以下约定:
- 使用4个空格来缩进
- 永远不要混用空格和制表符
- 在函数之间空一行
- 在类之间空两行
- 字典、列表、元组以及参数列表中,在 , 后添加一个空格。对于字典,: 后面也添加一个空格。
- 在赋值运算符和比较运算符周围要有空格(参数列表中除外),但是括号里则不加空格:a = f(1, 2) + g(3,4)。
代码风格在后面的PEP8代码风格指南中有更详细的讲述。
注释
注释是一些文本用来解释此代码是做什么的,写注释是为了使他人更容易理解代码。
Python的注释以 # 字符开始,在 # 字符到行尾之间的所有东西都被程序忽略为注释,也就是说对程序没有任何影响。
>>> # 这是一个注释
>>> # 下面这一行是求两数之和
>>> a = 12 + 34
>>> print(a) # 这里也是注释 :)
注释主要面向的人群是开发人员和维护代码库的人员,所以如果你写了一些复杂的代码,你应该写足够的注释在里面,以便让其它任何人能够通过你的注释读懂代码。你应该总是在 # 后跟一个空格,然后再写注释。你也可以做一些标准的注释:
# FIXME -- fix these code later
# TODO -- in future you have to do this
注释能使用英语建议使用英语。
参考链接:https://www.shiyanlou.com/courses/596
Python3简明教程(一)—— 开始Python之旅的更多相关文章
- Python 简明教程 --- 18,Python 面向对象
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 代码能借用就借用. -- Tom Duff 目录 编程可分为面向过程编程和面向对象编程,它们是两种不 ...
- Python 简明教程 --- 14,Python 数据结构进阶
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...
- Python 简明教程 --- 16,Python 高阶函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas ...
- Python 简明教程 --- 17,Python 模块与包
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 正确的判断来源于经验,然而经验来源于错误的判断. -- Fred Brooks 目录 我们已经知道函 ...
- Python 简明教程 --- 9,Python 编码
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1, ...
- Python 简明教程 ---10,Python 列表
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + ...
- Python 简明教程 --- 4,Python 变量与基本数据类型
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...
- Python 简明教程 --- 7,Python 字符串
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 过早的优化代码是罪恶之源. -- Donald Knuth 目录 无论哪种编程语言,字符串处理都是最 ...
- Python 简明教程 --- 19,Python 类与对象
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 那些能用计算机迅速解决的问题,就别用手做了. -- Tom Duff 目录 上一节 我们介绍了Pyt ...
- Python 简明教程 --- 20,Python 类中的属性与方法
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 与客户保持良好的关系可以使生产率加倍. -- Larry Bernstain 目录 类中的变量称为属 ...
随机推荐
- Socket教程
Socket网络编程学习笔记(6):使用线程池提高性能 Socket网络编程学习笔记(5):发送和接收实体类数据 Socket网络编程学习笔记(4):TCP消息边界处理 Socket网络 ...
- web服务端的架构演变
此文已由作者肖凡授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近Lofter项目碰到很多性能上的问题,特别是数据库相关的,每次推送后,告警就会第一时间到来.这些问题随着产 ...
- 51 nod 1521 一维战舰(二分)
传送门 题意 分析 这是我在51nod上的第2题,下载了4个数据,得不偿失?我太菜啦 一开始wa了6个点,下数据后发现舰与舰不能相邻,再交wa,发现l和r都没设好,再wa,发现check里面[1,b[ ...
- mui中一级联动
<!doctype html><html> <head> <meta charset="utf-8"> <title>& ...
- $BREEZE'S Diary$
蒟蒻的日记没什么好看的. 2019-01-28 期末砸了. 洛谷开创小号. 开创博客园. 2019-01-29 坐标:义乌中学 咱今天又来义乌中学受虐了 感谢hjf给咱一次爆0的机会 题解 2019- ...
- Eclipse - Maven项目Update Project后jdk版本变成1.5
问题与分析 最近遇到个奇怪的问题,在Eclipse里对一个Maven项目进行Update Project(快捷键是 Alt+F5),原本jdk为1.8的项目忽然就变成了1.5,于是就报了一些错误. 我 ...
- SpringBoot | 读取配置文件信息
server.port=8081 #修改端口号 server.servlet.context-path= /SpringBoot #修改URL #自定义配置 tz.name = xiaoming tz ...
- AtCoder Grand Contest 012 A
A - AtCoder Group Contest Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statem ...
- [已读]基于MVC的Javascript Web 富应用开发
这本书是12年出版,我买的时间应该是13年,书架上唯一一本盗版→ → 但是看完是在今年. 因为刚拿到的时候,读起来很是磕磕绊绊,就搁置了蛮久.到第二次拿起来的时候,发现已经有部分内容过时,但我还是觉得 ...
- Web API 实体显示注释
我看园子里关于Web API的注释都是关于方法的,并没有显示实体注释的方法,今天花了一些时间搞了一下 其实注释的显示就是根据类库的XML文档文件生成的. 首先你要将所用到的类库生成XML文档文件: 在 ...