iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
Python

python零之旅系列 第 9

DAY9. Python中的各式應用與處理

  • 分享至 

  • xImage
  •  

args

args = arguments 任意數量的參數(前面加上一個米字號)
通常在不知道使用者會傳入多少參數的狀況下使用。
當使用米字號時,那些參數便會打包入一個tuple裡。

kwargs

kwargs = 關鍵詞 + args(前面加上兩個米字號)
當使用米字號時,那些參數便會打包入一個dictionary裡。

範例1:

def add(*args):
    total = 0
    for arg in args:
        print(f"arg: {arg}")
        total += arg
    return total

print(add(1, 2, 3))

範例2:

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"key: {key} value: {value}")

print_info(name = "Anna", age = "20", job = "No")

Python模組

一個檔案即是一個模組,裡面包含所撰寫的程式碼。
通常我們會使用「import」關鍵字來載入一個內建或自創的模組。

範例:

import math as m #將方法取一個別名
from math import pi #可單獨引用子模組
help(m)

print(m.pi)
print(m.pow(3,2))

num = 10.7
print(m.ceil(num)) #無條件進位
print(m.floor(num)) #無條件捨去
print(m.round(num)) #math中沒有這項方法,因此顯示錯誤

變數範圍與作用域

變數範圍:表示變數在某個區域是可見/可訪問的
作用域:在使用一個變數時,按照一定順序去尋找變數(LEGB)
L: Local 區域
E: enclosed
G: Global 全域
B: built-in 內建函式/變數

範例:

z = 10

def fun_one():
    x = 2
    print("x:", x)
    
    def fun_two():
        y = 4
        print("x:", x)
        print("y:", y)
    fun_two()
    
fun_one()

以上範例可分析以下幾點:
1.對於fun_one來說,x就是它的local變數;對於fun_two來說,y就是 它的local變數
2.對於fun_two來說,x就是它的enclosed(因為存取fun_one的值)
3.z就是global變數

異常處理

異常(exception)處理的語法:try and except

範例2:

try:
    x = int(input("請輸入整數1:"))
    y = int(input("請輸入整數2:"))
    print(x/y)
except ValueError:
    print("請輸入整數")
except ZeroDivisionError:
    print("除數不能為零")
finally:
    print("請重新輸入") #無論是否異常都會執行

上一篇
DAY8. Python中的隨機數與各式函數
下一篇
DAY10. Python中的檔案
系列文
python零之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言