# 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 自舉