# Python 基础知识 - 又称 Hello World 以及如何实现
> 原文: [https://javabeginnerstutorial.com/python-tutorial/python-basics-a-k-a-hello-world-and-how-to-achieve-it-2/](https://javabeginnerstutorial.com/python-tutorial/python-basics-a-k-a-hello-world-and-how-to-achieve-it-2/)
在介绍并安装 Python 之后,让我们继续前进,并使用 Python 3 编写第一行代码。
第一步是使用 python3 命令启动交互式解释器。 三个箭头(或更大的符号)指示提示,我们可以在其中键入解释器的命令。 我们将输入以下文本:“`print('We want a shrubbery!')`”,然后按回车键。
以下代码段显示了您应该看到的内容:
```py
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('We want a shrubbery!')
We want a shrubbery!
```
这是基本的 Python 应用,它将给定的字符串输出到控制台。 基本上,我们将使用`print`函数将所有消息写入控制台。
## 基本语法
Python 的基本语法与其他编程语言非常相似。 但是,有些差异会在开发应用时引起麻烦。
因此,让我们研究 Python 应用的基本语法。
### 缩进
这是您可能遇到的最令人不安的事情。 如果您没有正确配置 IDE 或使用其他格式设置扩展由他人编写的代码,这可能会在以后让您彻夜难眠。
**但是缩进是什么意思?**
在执行分组在一起的语句时,使用最广泛的编程语言会使用大括号(`{}`)。 Python 利用缩进,因为这样代码更易读。 让我们用一个小示例来演示一下:
**Java 代码**
```py
if(a == 42){a = 25; System.out.println(a);}else{a = 42;}
```
**Python 代码**
```py
if a == 42:
a = 25
print(a)
else:
a = 42
```
如您所见,Python 代码更具可读性(尽管我也是一个有良好基础的 Java 开发人员,但我认为这是我的看法,因此我可以覆盖前面的示例以使其可读)。 如果您有**缩进行(请仔细查看 python 代码中的缩进)**,则表示它属于同一执行组。 例如,在 Java 中,它将不会:
```py
if(a == 42)
a = 25;
System.out.println(a); // Indention will not work here. And it will give compilation error
else
a = 42;
```
如果不使用花括号,则会出现`SyntaxError`,因为在上面的情况下`System.out.println(a);`不属于`if`语句。
**但是**这不是一篇有关 Java 或这两种编程语言之间的差异的文章,因此我从这件事回到*缩进*的主题。
为什么会导致不眠之夜? 因为您有两种缩进方式:**空格**或 **TAB**。 **而且您不能将两者混为一谈!** 如果这样做,则会出现`TabError`:
```py
>>> a = 33
>>> if a == 42:
... a = 25
... print(a)
File "<stdin>", line 3
print(a)
^
TabError: inconsistent use of tabs and spaces in indentation
```
在上面的示例中不可见,但是首先我使用空格,然后使用制表符使行缩进。 这导致异常。
如果我切换线路,则会收到另一个错误:
```py
File "<stdin>", line 3
a = 25
^
```
`IndentationError`:缩进与任何外部缩进级别都不匹配
这就是我不眠之夜的意思。 如果您混淆了所有内容,则必须浏览文件,找到在每个可能的地方都用制表符交换空格,反之亦然。
### 注释
注释代码有时是必要的(尽管一些开发人员说,如果必须编写注释来描述代码,则应重新编写代码)。
您可以使用井号(`#`)。 这告诉解释器,井号后面的同一行上的文字仅是注释,它们无意执行:
```py
>>> print(1+2) # results in 3 : this is comment
3
```
**注意**与其他编程语言一样,**没有**多行注释。 如果要禁用代码块,则必须在每行的开头放置`#`。
### 标识符
标识符是用于标识变量,类,函数,模块或其他对象的名称。
在 Python 中,您可以以字母(大写或小写无关紧要)或下划线(`_`)开头,并在其后跟随零个或多个字母,数字和下划线。 标识符名称中不允许使用标点符号(例如`@`,`$`和`%`)。
该语言区分大小写,这意味着您可以拥有一个名为`my_variable`的变量和另一个名为`My_variable`的变量,它们将被视为不同的变量。 因此**要小心**,因为这在开发时也会引起问题。
### 保留字
高级编程语言几乎是自由形式的代码编写。 但是,有一些内部字词是为特殊用例保留的,当解释器遇到它们时,它们对解释器具有意义。
这意味着您不能将这些关键字用作标识符名称。 在其他情况下,您会根据关键字获得错误。
```py
False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise
```
当然,它们是区分大小写的。 这意味着您可以使用`false`作为变量名,但不能使用`False`。
### 用户输入
当您可以编写交互式应用时,编程会变得很有趣。 交互性意味着用户可以向应用输入一些输入,然后他/她将成为应用的答案。
我现在不会从这里开始编写带有用户输入的应用,但是我将告诉您如何要求用户提供一些东西。
它带有输入函数,并且使用非常简单:
```py
>>> entered = input("Enter some text: ")
Enter some text: 42
>>> entered
'42'
```
如您所见,您可以将参数传递给`input`函数,并且该参数将显示为用户的命令提示符。 他/她输入内容后,将其作为字符串存储在输入的变量中。
稍后,我们将更全面地检查`input`函数。
## 基本运算符
现在是时候看看 Python 中可用的基本运算符了。 我知道在不了解基本类型的情况下并没有什么用,但是,嘿! 我们已经知道语言中至少有数字和字符串,这对运算符来说是一个很好的起点。
### 算术运算符
每个人都知道它们,它们是数学的基础。 因此,Python 也必须了解它们。 如果它们来自正确的类型,它们也可以使用变量。 这意味着您不能在数字和字符串上使用加法。
让我们快速列举一些示例。 我希望这些示例能说明自己。 如果不是这种情况,请随时给我写一封信息,我还将在示例中添加说明性文字。
```py
>>> 6 + 5 # the + sign adds numbers up
11
>>> 6 - 5 # the - sign subtracts the second number from the firs
1
>>> 6 * 5 # the * sign multiplies the numbers
30
>>> 6.0 / 5 # the / sign divides the numbers
1.2
>>> 6.0 // 5 # the // sign makes an integer division
1.0
>>> 6 % 5 # the % calculates the modulo
1
>>> 6 ** 5 # the ** sign raises the first number to the power of the second
7776
```
### 比较运算符
这些运算符比较值(变量或值本身不再重要)。 结果来自布尔类型,可以为`True`或`False`。
```py
>>> 5 == 4 # == is the equality operator, returns True when both sides are equal
False
>>> 4 == 4
True
>>> 5 != 5 # != is the inequality operator, returns False when both sides are equal
False
>>> 5 > 5 # > is the greater than operator
False
>>> 5 < 5 # < is the less than operator
False
>>> 5 >= 5 # >= is the greater or equal operator
True
>>> 5 <= 5 # is the less or equal operator
True
```
### 赋值运算符
我们已经知道 **Python 中的**赋值运算符,即等号(`=`)。 但是,这些运算符中有相当一部分具有不同的用法,但所有这些运算符都会减少一些编写所需的代码。
在下面的示例中,我将一遍又一遍地使用相同的变量来说明这些运算符的工作方式。 同样,如果您想知道示例的含义,请随时给我写邮件,并在这些示例中添加说明。
仅输入变量名(在本例中为`a`)并按回车键,便可以在交互式解释器中看到变量的值。
```py
>>> a = 5
>>> a += 3 # a has the value of 8
>>> a -= 2 # a has the value of 6
>>> a *= 3 # a has the value of 18
>>> a /= 4 # a has the value of 4.5
>>> a //= 1 # a has the value of 4.0
>>> a %= 6 # a has the value of 4.0
>>> a **= 2 # a has the value of 16.0
>>> a
16.0
```
### 逻辑运算符
它们并不多:和,或不。 当我们看看爱是什么时,我们已经在复活节蛋中遇到了它们。 它们是逻辑运算符,因此最好是在使用它们的地方具有布尔值。
但是,这里有一点例外。 0,空对象和`None`被视为`False`,因此您可以在条件表达式中使用它们(稍后将在后面的文章中使用)。 数字和非空对象当然被视为`True`。
现在,让我们看一些示例:
```py
>>> a = True
>>> b = False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True
>>> not 0
True
>>> not 1
False
>>> not [] # this is an empty list
True
```
### 成员运算符
当我们想查看某物是否为集合的成员时,它会派上用场。 例如,数字 4 在前 5 个质数的列表中。
成员运算符是`in`关键字。 有些书也没有添加到此列表中,但据我们了解,不是一个逻辑运算符,它否定了所使用的值。
结果是布尔值`True`或`False`。
```py
>>> primes = [2,3,5,7,11]
>>> 4 in primes
False
>>> 4 not in primes
True
>>> 5 in primes
True
```
- JavaBeginnersTutorial 中文系列教程
- Java 教程
- Java 教程 – 入门
- Java 的历史
- Java 基础知识:Java 入门
- jdk vs jre vs jvm
- public static void main(string args[])说明
- 面向初学者的 Java 类和对象教程
- Java 构造器
- 使用 Eclipse 编写 Hello World 程序
- 执行顺序
- Java 中的访问修饰符
- Java 中的非访问修饰符
- Java 中的数据类型
- Java 中的算术运算符
- Java 语句初学者教程
- 用 Java 创建对象的不同方法
- 内部类
- 字符串构建器
- Java 字符串教程
- Java 教程 – 变量
- Java 中的变量
- Java 中的局部变量
- Java 中的实例变量
- Java 引用变量
- 变量遮盖
- Java 教程 – 循环
- Java for循环
- Java 教程 – 异常
- Java 异常教程
- 异常处理 – try-with-resources语句
- Java 异常处理 – try catch块
- Java 教程 – OOPS 概念
- Java 重载
- Java 方法覆盖
- Java 接口
- 继承
- Java 教程 – 关键字
- Java 中的this关键字
- Java static关键字
- Java 教程 – 集合
- Java 数组教程
- Java 集合
- Java 集合迭代器
- Java Hashmap教程
- 链表
- Java 初学者List集合教程
- Java 初学者的Map集合教程
- Java 初学者的Set教程
- Java 初学者的SortedSet集合教程
- Java 初学者SortedMap集合教程
- Java 教程 – 序列化
- Java 序列化概念和示例
- Java 序列化概念和示例第二部分
- Java 瞬态与静态变量
- serialVersionUID的用途是什么
- Java 教程 – 枚举
- Java 枚举(enum)
- Java 枚举示例
- 核心 Java 教程 – 线程
- Java 线程教程
- Java 8 功能
- Java Lambda:初学者指南
- Lambda 表达式简介
- Java 8 Lambda 列表foreach
- Java 8 Lambda 映射foreach
- Java 9
- Java 9 功能
- Java 10
- Java 10 独特功能
- 核心 Java 教程 – 高级主题
- Java 虚拟机基础
- Java 类加载器
- Java 开发人员必须知道..
- Selenium 教程
- 1 什么是 Selenium?
- 2 为什么要进行自动化测试?
- 3 Selenium 的历史
- 4 Selenium 工具套件
- 5 Selenium 工具支持的浏览器和平台
- 6 Selenium 工具:争霸
- 7A Selenium IDE – 简介,优点和局限性
- 7B Selenium IDE – Selenium IDE 和 Firebug 安装
- 7C Selenium IDE – 突破表面:初探
- 7D Selenium IDE – 了解您的 IDE 功能
- 7E Selenium IDE – 了解您的 IDE 功能(续)。
- 7F Selenium IDE – 命令,目标和值
- 7G Selenium IDE – 记录和运行测试用例
- 7H Selenium IDE – Selenium 命令一览
- 7I Selenium IDE – 设置超时,断点,起点
- 7J Selenium IDE – 调试
- 7K Selenium IDE – 定位元素(按 ID,名称,链接文本)
- 7L Selenium IDE – 定位元素(续)
- 7M Selenium IDE – 断言和验证
- 7N Selenium IDE – 利用 Firebug 的优势
- 7O Selenium IDE – 以所需的语言导出测试用例
- 7P Selenium IDE – 其他功能
- 7Q Selenium IDE – 快速浏览插件
- 7Q Selenium IDE – 暂停和反射
- 8 给新手的惊喜
- 9A WebDriver – 架构及其工作方式
- 9B WebDriver – 在 Eclipse 中设置
- 9C WebDriver – 启动 Firefox 的第一个测试脚本
- 9D WebDriver – 执行测试
- 9E WebDriver – 用于启动其他浏览器的代码示例
- 9F WebDriver – JUnit 环境设置
- 9G WebDriver – 在 JUnit4 中运行 WebDriver 测试
- 9H WebDriver – 隐式等待
- 9I WebDriver – 显式等待
- 9J WebDriver – 定位元素:第 1 部分(按 ID,名称,标签名称)
- 9K WebDriver – 定位元素:第 2 部分(按className,linkText,partialLinkText)
- 9L WebDriver – 定位元素:第 3a 部分(按cssSelector定位)
- 9M WebDriver – 定位元素:第 3b 部分(cssSelector续)
- 9N WebDriver – 定位元素:第 4a 部分(通过 xpath)
- 9O WebDriver – 定位元素:第 4b 部分(XPath 续)
- 9P WebDriver – 节省时间的捷径:定位器验证
- 9Q WebDriver – 处理验证码
- 9R WebDriver – 断言和验证
- 9S WebDriver – 处理文本框和图像
- 9T WebDriver – 处理单选按钮和复选框
- 9U WebDriver – 通过两种方式选择项目(下拉菜单和多项选择)
- 9V WebDriver – 以两种方式处理表
- 9W WebDriver – 遍历表元素
- 9X WebDriver – 处理警报/弹出框
- 9Y WebDriver – 处理多个窗口
- 9Z WebDriver – 最大化窗口
- 9AA WebDriver – 执行 JavaScript 代码
- 9AB WebDriver – 使用动作类
- 9AC WebDriver – 无法轻松定位元素? 继续阅读...
- 10A 高级 WebDriver – 使用 Apache ANT
- 10B 高级 WebDriver – 生成 JUnit 报告
- 10C 高级 WebDriver – JUnit 报表自定义
- 10D 高级 WebDriver – JUnit 报告自定义续
- 10E 高级 WebDriver – 生成 PDF 报告
- 10F 高级 WebDriver – 截屏
- 10G 高级 WebDriver – 将屏幕截图保存到 Word 文档
- 10H 高级 WebDriver – 发送带有附件的电子邮件
- 10I 高级 WebDriver – 使用属性文件
- 10J 高级 WebDriver – 使用 POI 从 excel 读取数据
- 10K 高级 WebDriver – 使用 Log4j 第 1 部分
- 10L 高级 WebDriver – 使用 Log4j 第 2 部分
- 10M 高级 WebDriver – 以无头模式运行测试
- Vue 教程
- 1 使用 Vue.js 的 Hello World
- 2 模板语法和反应式的初探
- 3 Vue 指令简介
- 4 Vue Devtools 设置
- 5 数据绑定第 1 部分(文本,原始 HTML,JavaScript 表达式)
- 6 数据绑定第 2 部分(属性)
- 7 条件渲染第 1 部分(v-if,v-else,v-else-if)
- 8 条件渲染第 2 部分(v-if和v-show)
- 9 渲染列表第 1 部分(遍历数组)
- 10 渲染列表第 2 部分(遍历对象)
- 11 监听 DOM 事件和事件修饰符
- 12 监听键盘和鼠标事件
- 13 让我们使用简写
- 14 使用v-model进行双向数据绑定
- 15 表单输入绑定
- 18 类绑定
- Python 教程
- Python 3 简介
- Python 基础知识 - 又称 Hello World 以及如何实现
- 如何在 Windows 中安装 python
- 适用于 Windows,Mac,Linux 的 Python 设置
- Python 数字和字符串
- Python 列表
- Python 集
- Python 字典
- Python 条件语句
- Python 循环
- Python 函数
- 面向对象编程(OOP)
- Python 中的面向对象编程
- Python 3 中的异常处理
- Python 3:猜数字
- Python 3:猜数字 – 回顾
- Python 生成器
- Hibernate 教程
- Hibernate 框架基础
- Hibernate 4 入门教程
- Hibernate 4 注解配置
- Hibernate 4 的实体关系
- Hibernate 4 中的实体继承模型
- Hibernate 4 查询语言
- Hibernate 4 数据库配置
- Hibernate 4 批处理
- Hibernate 4 缓存
- Hibernate 4 审计
- Hibernate 4 的并发控制
- Hibernate 4 的多租户
- Hibernate 4 连接池
- Hibernate 自举