iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
2
AI & Data

30天 python 學習心得分享系列 第 13

Day13-例外處理及函式引入

  • 分享至 

  • xImage
  •  

在撰寫程式時總是會發生例外狀況,比如說請使用者輸入數字但輸入卻是字母這時若沒有做防呆機制程式就會報錯,為了避免這樣的狀況我們需要先針對例外狀況去做排除,透過前面的流程控制我們能使用if/else來處理,但如果是我們沒有考慮到的狀況程式還是會有壞掉的時候,這時我們能透過例外處理來偵錯並先使程式秀出錯誤訊息,以下我們來介紹python的例外處理寫法~~

try/except

基本上與ASP.NET 的try/catch是相同的原理,當程式出現錯誤會進入到except區塊,如以下範例:

while True:    
    try:
        a = int(input('請輸入台幣金額: ') )    
        a = round(a / 30.685, 2)        
        print('兌換美金為{}元'.format(a) )   
        msg = input('按下Enter重新輸入或輸入N結束程式: ')
        if msg == 'N':
            break;
    except:
        print('請輸入數字!')

如此範例我們就能做出當使用者輸入非我們預設的型態資料就列印出指定訊息,加上while True:是為了讓程式能夠無限執行.
若想偵錯程式可將例外狀況打印出來如下:

try:
    a = int(input('請輸入台幣金額: ') )    
    a = round(a / 30.685, 2)        
    print('兌換美金為{}元'.format(a) )         
except Exception as e :
    print(e)

以上就是例外處理的方式,接下來我們來看看python最強大的功能引用模組.

import

在python有許多好用的模組我們可以以視需求來引入,使用方式如下例:

import datetime

a = datetime.datetime.now();
print(a)

#輸出:2018-10-27 20:07:55.890286

在這個範例中我們引入了datetime這個模組並使用其底下提供的函數來取的當前時間,基本上會根據我們想要的需求去引入模組,由於我們使用Anaconda開發環境基本用到的模組都已安裝若需要其他模組可至環境安裝可參考Day2,我們可以透過google來尋找相對應功能可使用的模組來決定引入.

import也能夠引入自訂模組,以下為引入方式:

import自訂模組

新增GetTorrowDate.py檔案並放置my_model資料夾底下如下圖
https://ithelp.ithome.com.tw/upload/images/20181027/20110503IZOczCiYJg.jpg

檔案內程式碼如下,內撰寫獲取明天日期的自訂函數

import datetime

def getTomorrowDate():
    return datetime.date.today() + datetime.timedelta(days=1)

在目前檔案內引用自訂模組並呼叫其中函數

from my_model import GetTomorrowDate

print(GetTomorrowDate.getTomorrowDate())

#輸出:2018-10-28

由於我們將檔案放置在資料夾底下需使用from來指定檔案路徑,若有多層資料夾可用.做串接

以上就是import的用法.

import用法參考文章:https://www.cnblogs.com/ptfblog/archive/2012/07/15/2592122.html
import延伸學習:https://medium.com/pyladies-taiwan/python-%E7%9A%84-import-%E9%99%B7%E9%98%B1-3538e74f57e3
datetime模組用法參考文章:https://github.com/tomlinNTUB/Python/blob/master/08-1%20%E8%B3%87%E6%96%99%E5%9E%8B%E6%85%8B-datetime%E5%8F%8Adate.md

文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!


上一篇
Day12- 流程控制2
下一篇
Day14-Python發展面向
系列文
30天 python 學習心得分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言