第一个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之旅的更多相关文章

  1. Python 简明教程 --- 18,Python 面向对象

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 代码能借用就借用. -- Tom Duff 目录 编程可分为面向过程编程和面向对象编程,它们是两种不 ...

  2. Python 简明教程 --- 14,Python 数据结构进阶

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...

  3. Python 简明教程 --- 16,Python 高阶函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas ...

  4. Python 简明教程 --- 17,Python 模块与包

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 正确的判断来源于经验,然而经验来源于错误的判断. -- Fred Brooks 目录 我们已经知道函 ...

  5. Python 简明教程 --- 9,Python 编码

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1, ...

  6. Python 简明教程 ---10,Python 列表

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + ...

  7. Python 简明教程 --- 4,Python 变量与基本数据类型

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...

  8. Python 简明教程 --- 7,Python 字符串

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 过早的优化代码是罪恶之源. -- Donald Knuth 目录 无论哪种编程语言,字符串处理都是最 ...

  9. Python 简明教程 --- 19,Python 类与对象

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 那些能用计算机迅速解决的问题,就别用手做了. -- Tom Duff 目录 上一节 我们介绍了Pyt ...

  10. Python 简明教程 --- 20,Python 类中的属性与方法

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 与客户保持良好的关系可以使生产率加倍. -- Larry Bernstain 目录 类中的变量称为属 ...

随机推荐

  1. 「LuoguP1496」 火烧赤壁

    Description 曹操平定北方以后,公元208年,率领大军南下,进攻刘表.他的人马还没有到荆州,刘表已经病死.他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了. 孙权任命周瑜为都督,拨给他三 ...

  2. mounted

    注意 mounted 不会承诺所有的子组件也都一起被挂载.如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted: mounted: function () { t ...

  3. bzoj1304

    树形dp 题目是要求最深的颜色 先开始觉得设dp[i][0/1/2]表示这个点的状态,然后发现没办法保证该点是最深的点,且dp状态没有实际意义,其实dp[i][0/1]表示当前i的子树颜色为c^1的叶 ...

  4. (水题)洛谷 - P1478 - 陶陶摘苹果(升级版)

    https://www.luogu.org/problemnew/show/P1478 没啥好说的…… 居然还漏写一个等于号WA了一发. #include<bits/stdc++.h> u ...

  5. hdoj1024【DP.最 大 m 字 段 和】(写完我都怕。。。不忍直视。。)

    弱弱上路,看了好多题解....[A的] 题意就是求最大m子段和. 我们先用a[1e6+7]存入数据: 定义:DP[ i , j ] 为前 j 个元素的 i 个子段的最大和,且第 i 个子段中包含了元素 ...

  6. CF788B Weird journey

    总共有n个节点,m条路径,要求其中m-2条路径走两遍,剩下2条路径仅走一遍,问不同的路径总数有多少,如果仅走一遍的两条边不同则将这两条路径视为不同. 可以把每条边都拆成两条重边,每条边的度数都是偶数了 ...

  7. 两年Java程序员面试经验分享,从简历制作到面试总结!

    前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. ...

  8. spark 机器学习 朴素贝叶斯 原理(一)

    朴素贝叶斯算法仍然是流行的挖掘算法之一,该算法是有监督的学习算法,解决的是分类问题,如客户是否流失.是否值得投资.信用等级评定等多分类问题.该算法的优点在于简单易懂.学习效率高.在某些领域的分类问题中 ...

  9. 黑客攻防技术宝典web实战篇:攻击应用程序逻辑习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 何为强制浏览?可以通过它确定哪些漏洞? 强制浏览包括避开浏览器导航对应用程序功能访问顺序实 ...

  10. C# BitmapData和Marshal.Copy()用法

    C# BitmapData和Marshal.Copy()用法 //此函数用法例子如下: public static byte[] GetGrayArray(Bitmap srcBmp, Rectang ...