python語言常見問題

python語言常見問題

1. 編譯錯誤

1.1. TabError: inconsistent use of tabs and spaces in indentation

C:\timer>python getAllTitles.py
  File "getAllTitles.py", line 192
    startTime = datetime.datetime.now()
                                      ^
TabError: inconsistent use of tabs and spaces in indentation
  • 在Sublime Text編輯器中檢查代碼發現:
    這裏寫圖片描述
這個錯誤的原因是,在代碼中用了tab鍵做縮進了,python和其他語言(c,c++,java)不同,它是用縮進來區分程序塊。
解決方案就是:把Tab鍵換成4個空格。如下圖所示:

這裏寫圖片描述

2. 語法問題

2.1. try…finally 和 return之間的關係


def func():
    count = 0
    mark = 0
    try:
        mark = 1
        count += 5
        print(f"1. count = {count}, mark = {mark}")
    except Exception as e:
        mark = 2
        count += 5
        print(f"2. exception: count = {count}, mark = {mark}")
    else:
        mark = 3
        count += 9
        print(f"3. count = {count}, mark = {mark}")
        # 這個時候,其實已經把count=14, mark=3這兩個值送入到return函數中
        # 然後再執行finally語句
        # 最後,再從return函數中出來
        return (count, mark)
    finally:
        mark = 4
        count += 11
        print(f"4. count = {count}, mark = {mark}")

if __name__ == "__main__":
    result = func()
    print(f"result = {result}")

# 打印結果
1. count = 5, mark = 1
3. count = 14, mark = 3
4. count = 25, mark = 4
result = (14, 3)
發佈了73 篇原創文章 · 獲贊 244 · 訪問量 69萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章