Python基礎語法
轉載請注明 來源:http://www.eword.name/
Author:eword
Email:eword@eword.name
Python基礎語法
一、輸入和輸出
input()輸入:
- input()的小括號中放入的是,提示信息,用來在獲取數據之前給用戶的一個簡單提示
- input()在從鍵盤獲取了數據以后,會存放到等號右邊的變量中
- input()會把用戶輸入的任何值都作為字符串來對待
- 注意:在python2中還有一個raw_input()輸入,但到python3中沒有了
# 源碼
str = input("請輸入:");
print ("你輸入的內容是: ", str)
# 結果
請輸入內容:>? hello word
您輸入的內容: hello word
Print()輸出:
- print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上 end="":
# 源碼
inline = "我后面不換行"
new_line = "我后面換行了"
separator = "=========我是分隔符========"
# 后面換行
print(new_line)
print(separator)
print()
# 后面不換行
print(inline, end=" ")
print(separator)
print()
one = "1、"
two = "2、"
tree = "3"
# 連續輸出3個參數
print(one, two, tree)
# 結果
我后面換行了
=========我是分隔符========
我后面不換行 =========我是分隔符========
1、 2、 3
format()的格式化函數
- 格式化字符串的函數
str.format(),它增強了字符串格式化的功能。 - 基本語法是通過 {} 和 : 來代替以前的 % 。
# 源碼
# 不設置指定位置,按默認順序
print("不設置指定位置,按默認順序======")
print("{} {}".format("hello", "world"))
print()
# 設置指定位置
print("設置指定位置1======")
print("{0} {1}".format("hello", "world"))
print()
# 設置指定位置
print("設置指定位置2======")
print("{1} {0} {1}".format("hello", "world"))
print()
# 指定參數名
print("指定參數名======")
print("姓名:{name}, 性別 {sex}".format(name="Eword", sex=" 男"))
print()
# 通過字典設置參數
print("通過字典設置參數======")
person = {"name": "Eword", "sex": " 男"}
print("姓名:{name}, 性別 {sex}".format(**person))
print()
# "0" 是必須的,通過列表索引設置參數
print("通過列表索引設置參數======")
_list = ['姓名', ' 男']
print("姓名:{0[0]}, 性別: {0[1]}".format(_list))
print()
# 數字格式化
print("數字格式化======")
print("{:.2f}".format(3.1415926))
# 結果
不設置指定位置,按默認順序======
hello world
設置指定位置1======
hello world
設置指定位置2======
world hello world
指定參數名======
姓名:Eword, 性別 男
通過字典設置參數======
姓名:Eword, 性別 男
通過列表索引設置參數======
姓名:姓名, 性別: 男
數字格式化======
3.14
format()數字格式化參照
| 數字 | 格式 | 輸出 | 描述 |
|---|---|---|---|
| 3.1415926 | {:.2f} | 3.14 | 保留小數點后兩位 |
| 3.1415926 | {:+.2f} | +3.14 | 帶符號保留小數點后兩位 |
| -1 | {:+.2f} | -1.00 | 帶符號保留小數點后兩位 |
| 2.71828 | {:.0f} | 3 | 不帶小數 |
| 5 | {:0>2d} | 05 | 數字補零 (填充左邊, 寬度為2) |
| 5 | {:x<4d} | 5xxx | 數字補x (填充右邊, 寬度為4) |
| 10 | {:x<4d} | 10xx | 數字補x (填充右邊, 寬度為4) |
| 1000000 | {:,} | 1,000,000 | 以逗號分隔的數字格式 |
| 0.25 | {:.2%} | 25.00% | 百分比格式 |
| 1000000000 | {:.2e} | 1.00e+09 | 指數記法 |
| 13 | {:10d} | 13 | 右對齊 (默認, 寬度為10) |
| 13 | {:<10d} | 13 | 左對齊 (寬度為10) |
| 13 | {:^10d} | 13 | 中間對齊 (寬度為10) |
| 11 | '{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
進制 |
二、注釋
Python中的注釋有單行注釋和多行注釋:
-
python中單行注釋采用 # 開頭。
-
python 中多行注釋使用三個單引號(''')或三個雙引號(""")。
# 源碼
# 單行注釋演示
str = "Hello, Python!" # 單行注釋可以放到表達式后面
'''
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
這是多行注釋,使用單引號。
'''
"""
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
這是多行注釋,使用雙引號。
"""
print(str) # 單行注釋可以放到行末
# 結果
Hello, Python!
三、標識符
- 在
Python里,標識符: 由字母、數字、下劃線組成,但不能以數字開頭。 - Python 中的標識符是區分大小寫的。
- 特殊標識符:
- 以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭
_foo的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用from xxx import *而導入; - 以雙下劃線開頭的
__foo代表類的私有成員;以雙下劃線開頭和結尾的__foo__代表 Python 里特殊方法專用的標識,如__init__()代表類的構造函數。
- 以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭
- python保留字: 保留字即關鍵字,我們不能把它們用作任何標識符名稱。Python 的標準庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字:
# 查詢關鍵字 Python 3.9
import keyword
keyword.kwlist
# python 3.9 的關鍵字
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
四、變量
- Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。
- 在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。
- 等號(=)用來給變量賦值。
- 等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。例如:
- 實例(Python 3.9+)
# 源碼
# 整型變量
count = 100
# 浮點型變量
miles = 1000.0
# 字符串
name = "demo"
# Python允許你使用以下形式同時為多個變量賦值。
a = b = c = 1 # 創建一個整型對象,值為1,三個變量被分配到相同的內存空間上。
x, y, z = 7, 9, "我是8呀" # 兩個整型對象 7 和 9 的分配給變量 x 和 y,字符串對象 "我是8呀" 分配給變量 z。
print("counter =", count)
print("miles =", miles)
print("name =", name)
print("a =", a)
print("b =", b)
print("c =", c)
print("x =", x)
print("y =", y)
print("z =", z)
# 結果
counter = 100
miles = 1000.0
name = demo
a = 1
b = 1
c = 1
x = 7
y = 9
z = 我是8呀
五、行與縮進
- python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號({})。
- 縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下:
# 源碼
# 正確示例
# 乘法口訣表
for i in range(1, 10):
for j in range(1, i + 1):
print(str(j) + '*' + str(i) + "=" + str(i * j), end=" ")
print()
# 錯誤示例
# 縮進不一致,會導致運行錯誤
for i in range(1, 10):
for j in range(1, i + 1):
print(str(j) + '*' + str(i) + "=" + str(i * j), end=" ")
print() # 此行縮進數的空格數不一致,會導致運行錯誤:
# 報錯內容:IndentationError: unindent does not match any outer indentation level
多行語句
- Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠
\來實現多行語句,例如:
# 源碼
# 乘法口訣表
for i \
in range(1, 10):
for j in range(1, i + 1):
print(str(j) + '*' + str(i) + "=" + str(i * j), end=" ")
print()
- 在 [], {}, 或 () 中的多行語句,不需要使用反斜杠(),例如:
# 源碼
# 乘法口訣表
for i in range(1, 10):
for j in range(1, i + 1):
print(str(j) +
'*' +
str(i) +
"=" +
str(i * j), end=" ")
print()
空行
- 函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。
- 空行與代碼縮進不同,空行并不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護或重構。
- 記住:空行也是程序代碼的一部分。

浙公網安備 33010602011771號