1. 程式人生 > >Python小知識————如何解決Python日常程式碼中的一些BUG

Python小知識————如何解決Python日常程式碼中的一些BUG

    相信很多小夥伴在日常敲程式碼的過程中,一不小心或者一不留神就會出錯,程式總會被各種各樣的bug困住,擾亂我們這些程式猿的心境。那麼今天我就來跟大家分享一下簡單常見的BUG及相應BUG的處理方法,這樣的話,下次我們再遇到這些BUG,就能很輕鬆解決掉,程式得以執行。

錯誤一:

    # TypeError: cannot concatenate 'str' and 'int' objects  
    # 不能連線str和int物件  
    age = 18  
    str = "我今年" + age + "喜歡音樂"  
    # 分析:  
    # 這是一個型別錯誤,意味著Python無法識別你使用的資訊。在這個示例中,Python發現你使  
    # 用了一個值為整數( int )的變數,但它不知道該如何解讀這個值。Python知道,這個變  
    # 量表示的可能是數值18,也可能是字元1和8。像上面這樣在字串中使用整數時,需要顯式地指  
    # 出你希望Python將這個整數用作字串。為此,可呼叫函式 str() ,  
    # 它讓Python將非字串值表示為字串:  
    #解決方法: str = "我今年 " + str(age) + "喜歡音樂"  
    print(str);</code>  

錯誤二:

# IndexError: list index out of range
# 索引錯誤:列表索引超出範圍
# Python試圖向你提供位於索引3處的元素,但它搜尋列表 name 時,卻發現索引3處沒有元素
# 鑑於列表索引差一的特徵,這種錯誤很常見。有些人從1開始數,因此以為第三個元素的
# 索引為3;但在Python中,因為索引是從0開始的,所以第三個元素的索引為2。
name = ['tom', 'rose', 'lilei'];
print(name[3])

錯誤三:

# IndentationError: expected an indented block
# 縮排錯誤:預期一個縮排快(意思需要一個縮排塊)
str1 = ['tom', 'rose', 'lilei'];
for name in str1:
print(name);

錯誤四:

# IndentationError: unexpected indent
# 縮排錯誤:意外縮排(這裡不應縮排)
str2 = "Hello world!";
	print(str2);

錯誤五:

    # TypeError: 'tuple' object does not support item assignment
    dimensions = (200,50);
    print(dimensions);
    print(dimensions[0]);
    print(dimensions[1]);
    # TypeError: 'tuple' object does not support item assignment
    # 型別錯誤:元組物件不支援元素值重新分配,也就是不能嘗試去修改元組中的任一個元素的值
    # dimensions[0] = 250;
    print(dimensions);

    

錯誤六:

    # SyntaxError: invalid syntax
    # 語法錯誤 非法的語法
    # 解決辦法:看報錯資訊在第幾行 ,從這一行往上找錯誤
    # if name == '小王'
    #     print('Hello')

    tp1 = ()
    tp2 = tuple()
     
    tp1 = ((),[],{},1,2,3,'a','b','c',3.14 ,True)
    print(tp1[:])
    print(tp1[1:: 2])
    print(tp1[5])
    # AttributeError: 'tuple' object has no attribute 'remove'
    # attribute 屬性 object物件

錯誤七:

     屬性錯誤:元組物件沒有屬性'remove'
    tp1.remove(1)
    print(tp1)



    dic1 = {
        'name': '張三',
        'age' : 17 ,
        'friend':['李四','王五','趙六','馮七']
    }
    # 獲取指定key值對應的name值
    print(dic1['name'])
    # KeyError: 'fond'

錯誤八:

# key 鍵錯誤 沒有指定的鍵值“fond”
# print(dic1['fond'])

   八個錯誤雖然全部錯誤沒有寫出來,但是如果掌握這八個,在日常的程式碼過程中,能幫我們解決很多不必要的困擾,希望大家可以好好看一下。

未完待續.....



相關推薦

Python知識————如何解決Python日常程式碼一些BUG

    相信很多小夥伴在日常敲程式碼的過程中,一不小心或者一不留神就會出錯,程式總會被各種各樣的bug困住,擾亂我們這些程式猿的心境。那麼今天我就來跟大家分享一下簡單常見的BUG及相應BUG的處理方法,這樣的話,下次我們再遇到這些BUG,就能很輕鬆解決掉,程式得以執行。錯誤一

[Python][知識] Python字符串前 加 u、r、b 的含義

image cnblogs 學校 es2017 1-1 bytes unicode python字符串 正常 1、字符串前加 u   例:u"我是含有中文字符組成的字符串。"   作用:後面字符串以 Unicode 格式 進行編碼,一般用在中文字符串前面,防止因為源碼儲存格

python 知識

小知識 python += nbsp num style pos 輸出結果 spa num + = num 不等於num = num + num 例如: a = [100] def sum(num): # num += num num = num +

老男孩python基礎知識練習題(一)

rem python () 計算 輸出 長度 end 2個 下列表 20、字符串是否可叠代?如可以請使用for循環每一個元素? >>> name = " aleX ">>> for i in name:... print(i) 2

python知識-__call__和類裝飾器的結合使用

python get 都沒有 IV ini ble 自定義 裝飾器 介紹 class Decorator(): def __init__(self, f): print(‘run in init......‘) self.f = f

第一個python程式——即時動態時鐘(程式碼解讀)

程式碼資源來自: http://n.miaopai.com/media/K9Qlou7rdPc5TxpPaL1VDvwfv5hP~lHK   (執行有錯誤,缺少date,week和結尾部分) https://blog.csdn.net/yangxing2/article/details

Python知識 | 這些技能你不會?(三)

Python小知識 最近在看《零壓力學Python》,鞏固一下基礎知識,意外收穫到很多常用卻不一定被注意的小知識,分享給大家,學到東西了點贊支援哦~ 第一篇:點選這裡檢視第一篇python小技能 第二篇:點選這裡檢視第二篇python小技能 個人微信公眾號,歡迎關注領取學習資

Python知識 | 這些技能你不會?(二)

Python小知識 最近在看《零壓力學Python》,鞏固一下基礎知識,意外收穫到很多常用卻不一定被注意的小知識,分享給大家,學到東西了點贊支援哦~ 第一篇:點選這裡檢視第一篇python小技能 個人微信公眾號,歡迎關注領取學習資源 ​ [點選並拖拽以移動] 一、

Python知識 | 這些技能你不會?(一)

Python小知識 最近在看《零壓力學Python》,鞏固一下基礎知識,意外收穫到很多常用卻不一定被注意的小知識,分享給大家,學到東西了點贊支援哦~           &nbs

python課堂專欄】python課堂17 - 30行程式碼破解加密ZIP檔案

python小課堂17 - 30行程式碼破解加密ZIP檔案 前言 今天來點實戰乾貨,想必之前的小課堂中一直在講基礎也會顯得非常枯燥,有了前面的相關知識,即可以實現本章內容。若有不懂得的地方,請回顧python小課堂1-16。 在多數人眼中一直覺得黑客很神祕,實際上當初我學py

Python(3) python知識--reduce(), range(), lambda

          reduce()函式也是Python內建的一個高階函式。 reduce()函式接收的引數和 map()類似,一個函式 f,一個list,但行為和 map()不同,reduce()傳入的函式 f 必須接收兩個引數,

python練習2:刪除列表重複的元素

題目:刪除列表中重複的元素 如果列表中有重複的元素,我們想要刪除重複的,應該怎麼做呢?有好多種方法,這裡先總結三種方法 1.while 迴圈 li = [1,2,3,4,5,2,1,3,4,

Python知識-序列資料結構之集合set(四)

這篇文章講的是Python的集合set型別 set集合簡介 集合是一個無序的(類似無序的還有字典),不重複的資料集合。其基本功能包括下面兩種: 去重:把一個還有重複元素的列表或元組等資料型別轉變成集合,其中的重複元素只出現一次。使用set()方法。 進行關係測試:測

[Python][知識] Python字串前 加 u、r、b 的含義

1、字串前加 u   例:u"我是含有中文字元組成的字串。"   作用:後面字串以 Unicode 格式 進行編碼,一般用在中文字串前面,防止因為原始碼儲存格式問題,導致再次使用時出現亂碼。   PS:不是僅僅是針對中文, 可以針對任何的字串,代表是對字串進行。一般英文字元

python 3.5 解決csv 讀入的'utf-8' codec can't decode辦法

------------------------------------------------------------------------------------------------------------------------------------------

python知識--python遍歷指定檔案的所有檔案和目錄

概述os.listdir() 方法用於返回指定的資料夾包含的檔案或資料夾的名字的列表。這個列表以字母順序。 它不包括 '.' 和'..' 即使它在資料夾中。只支援在 Unix, Windows 下使用。語法listdir()方法語法格式如下:os.listdir(path)引

Python知識點:判斷一個list是否包含另一個list的全部元素

你可以用for in迴圈+in來判斷,但有個更簡單更簡潔的方法,就是把list轉換成集合。 也就是說將是否包含變成是否是其真子集 以下是一個簡單的例子 >>> a = [1,2,3,4,5,6] >>> b = [2,4,6] >

python工具___讀取指定檔案特定字串存入Excel表格

#coding:utf8 import os import os.path import xlwt import xlrd # --- 獲取當前路徑 --- filePath=os.getcwd() # --- 指定測試路徑 --- file01='F:\SVNBalo

python爬蟲知識體系 python python入門

今天,從全域性的視野剖析Python爬蟲,分析爬蟲可能涉及到的方方面面,瞭解爬蟲可能涉及到的知識點! Part1-Road Map Part2-Analysis I - Python環境:基於Python的爬蟲,電腦中必須具有Python環境,否則系統無法執行。Python

Python學習之解決python下載第三方依賴速度慢的問題

原因:通過pip命令直接下載,一般下載的資源存放在國外的伺服器上,導致下載速度慢、下載過程中報錯; 解決方法:通過pip的命令引數,從國內的下載源,國外的替換為國內的映象,進行目標包的下載; 具體引數:  -i  引數,後跟國內的映象地址; 例如:pip install -i&nbs