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 目录 类中的变量称为属 ...
随机推荐
- AndroidStudio修改主题外观和字体大小
修改主题外观 File --> Settings --> Appearance & Behavior --> Appearance 右边 Theme 修改编辑器的字体大小 F ...
- CodeForces - 504A && CodeForces - 624C && CodeForces - 2B
Points 1. 关键要看到以度数为1的点作为突破口. 2. 关键是发现两者不同只能是a-c,而剩余的点必须为b 3. 注意0的情况.
- Cardboard profile的修改
Cardboard盒子中,手机屏幕大小.镜片离屏幕距离,屏幕分辨率等都会影响配戴者的眼中成像,通过对生成图像的变形可以部份解决这一问题,cardboard sdk中提供了cardboardprofil ...
- 两分钟彻底让你明白Android Activity生命周期(图文)!(转载)
转自:http://kb.cnblogs.com/page/70125/ 大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样 ...
- php大小写转换函数
1.将字符串转换成小写 strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字 符串.例: <?php $str = "I want T ...
- [NOIP2018校模拟赛]T1 阶乘
题目: 描述 有n个正整数a[i],设它们乘积为p,你可以给p乘上一个正整数q,使p*q刚好为正整数m的阶乘,求m的最小值. 输入 共两行. 第一行一个正整数n. 第二行n个正整数a[i]. 输出 共 ...
- 并查集 HDOJ 5441 Travel
题目传送门 题意:给一张无向图,问存在多少(a, b)表示a点到b点经过的边值小于等于x ((a,b) 和 (b, a)属于不同的方案) 分析:首先将边权值和查询x值升序排序,从前往后扫描边,累加从u ...
- Hibernate的一级缓存:快照区
参考来源:http://blog.sina.com.cn/s/blog_981ee5d80102w85f.html
- 常见的问题:https://localhost:1158/em 无法打开
常见的问题:https://localhost:1158/em 无法打开 安装了Oracle Database 11g,里面有个基于网页的管理工具“https://localhost:1158/em” ...
- vmware虚拟机启动centOs黑屏
如图所示 , 我的VM 启动虚拟机之后就变成了上面的样子,一直不动,ping也ping不好,这个时候 : 1. 要么 内存不够了: 2. 要么 网络协议存在问题了: 本地windows环境在管理员的 ...