python學習記錄

2022-05-08 16:18:10 字數 2642 閱讀 4358

01 錯誤描述:

oserror: [errno 22] invalid argument: 'e:\pycharmprojects\tyj_data_file\study_life.txt'

用with open(file_name) as file_object:方式開啟並讀取檔案出錯,錯誤提示無效檔名

錯誤原因:

檔名雖然是直接從windows檔案目錄下拷貝的絕對路徑,但是紅色標記處提示\t,原來在python中\是轉義字,而此時\t是製表字元。

解決辦法:

第一種:直接用正斜槓/不用反斜槓\

第二種:用在字串的第乙個引號之前加上r,可以將該字串標記為原始字串,不進行轉義,如

第三種:用兩個反斜槓,因為每個反斜槓需要由另乙個反斜槓字元來轉義,如

e:\\pycharmprojects\\tyj_data_file\\study_life.txt

ps:說明一下,往往在window中使用反斜槓,在osx和linux上使用正斜槓,若想要程式能執行在所有的作業系統中,則可以用os.path.join('')的方式統一處理

02 python的輸出語句

首先我掌握了一種學習方式,例如要了解print 函式的用途,可以使用 help(print) 來尋求幫助,通過這種方式我們可以了解到函式的引數、用法等。

其次,python的格式化輸出,我們知道print不能拼接字串和數字,得要通過型別轉換。這裡介紹%用法,例如print("周長為:%.2f" %(math.pi*2*a))

03 盡量使用try-except語句、反向跟蹤、日誌方式來捕捉錯誤和異常,使用斷言assert來捕捉非法情況,而不使用print進行除錯

斷言主要是針對程式設計師犯的錯誤、是針對開發的,而不是針對使用者犯的錯誤的。區別斷言和異常,以及python中異常的型別。

#

輸入圓的半徑計算計算周長和面積

import

math,traceback,logging

logging.basicconfig(level=logging.debug,format= '

%(asctime)s - %(levelname)s - %(message)s

') #

得放在程式開頭

logging.debug('

start of program')

defwrite_error_intxt():

logging.debug(

'start of write_error')

errorfile = open(r"

e:\pycharmprojects\tyj_data_file\error_file.txt

", '

w') #

以覆蓋重寫的方式記錄在文字中

errorfile.write(traceback.format_exc()) #

寫入錯誤的字串形式

errorfile.close()

logging.debug(

'end of write_error')

print("

寫入成功")

try:

a = float(input("

請輸入圓的半徑"))

'''# 斷言的用法,如想禁用可以用-o的方式執行python檔案

b = input("輸入b")

assert b == 'love' , '如果b不是love,則輸出此語句'

'''print("

面積為%.2f

" %(math.pi*a*a))

print("

周長為:%.2f

" %(math.pi*2*a))

logging.debug(

"end of program")

except exception as e: #

可以有很多錯誤型別

#控制台輸出

print("

錯誤發生:

"+str(e))

#反向跟蹤

write_error_intxt()

view code

04  使用anaconda prompt建立 python3.5 的虛擬環境、安裝numpy,都出現condahttperror的錯誤,肯定就是網路連線的問題了,查閱資料發現可能是網路掛了**的原因,於是退出我的外網,重新安裝,成功。

05 jupyter notebook畫圖不顯示只有座標

解決辦法:

在**中加入一行%matplotlib inline

python學習記錄

python 3 整除,複數表示,slice,range,pass關鍵字,函式用引數名呼叫,函式的 arg和 arg,預設引數,unpacking argument lists,sequence 型別 list,set tuple,dictionary,queue,stack loop相關 enum...

python學習記錄

python函式記錄 修飾符作用就是表示 下面的值或者函式作為 後面函式的引數 返回值由 後面的函式返回 map 接收乙個函式和乙個序列,然後保留函式返回的結果的序列 reduce 接收乙個函式和乙個序列 函式結果為乙個值,運算過程就是從序列的第乙個值開始傳給函式,返回結果再次傳入函式,直到最後得到...

python學習記錄

函式的作用 按照key對迭代器iterable進行分組 函式的返回 tuple,其中第乙個元素是groupby後的鍵值,第二個元素是乙個迭代器,包含那些被groupby的物件。第二個引數key是可選的,如果預設,那就按照iterable的每個元素分組。如果不預設,那應該是乙個函式,將iterable...