羅德興老師的教學歷程檔案 - 113-2 程式語言二(2025) - 單元五 (模組)
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    單元五 (模組)

    單元五
    # 程式範例 B-3 (模組習作)


    1.
    mymath.py
    # module 習作


    2.
    # mymodule.py
    # call module 習作
    import mymath


    3.
    bank2.py
    class Account:



    4. 套裝 package 的使用



     

    """
    main.py
    module 習作
    This is written by 110XXXX dsluo 2025/04/09

    package
    exercise
       main.py
       pypackage
           __init__.py
           mymath.py
           bank2.py
    """
    # 第一段
    from google.colab import drive
    drive.mount('/content/drive')

    import os
    print(os.listdir("/content/drive//My Drive/myproject2/pypackage2"))

    import sys
    sys.path.append('/content/drive//My Drive/myproject2/pypackage2')

    # 創建空的 __init__.py 文件
    with open('/content/drive//My Drive/myproject2/pypackage2/__init__.py', 'w') as f:
        pass

    import os
    print(os.listdir('/content/drive//My Drive/myproject2/pypackage2'))







    # 第二段
    # main.py

    import mymath as math
    import bank2 as bk


    import sys
    import importlib

    # 確保 Python 可以找到 pypackage 資料夾
    sys.path.append("/content/drive/MyDrive/pypackage2")

    # 強制刪除 Python 快取
    if "mymath" in sys.modules:
        del sys.modules["mymath"]

    # 重新載入模組
    import mymath
    importlib.reload(mymath)

    print('印出 mymath 內可用的模組')
    print(dir(mymath))
    print()

    # 測試 mymath 模組
    print("12 和 38 的最大公因數是", mymath.gcd(12, 38))  # 確保 gcd() 可以運作

    print ('模組應用 1: mymath 中的變數 pi =', mymath.pi)
    print ('模組應用 2: 引用 mymath 中的函式  最大公約數 gcd')
    a=24
    b=8
    print (a, '和 ', b, '的最大公約數 =', mymath.gcd (a,b))

    print ('模組應用 3: 引用 mymath 中的 求階層 函式  factorial')
    a=5
    print (a, '! 階層 =', mymath.factorial(a))
    print()

    acct = bk.Account('Tommy', '999-889', 900)
    print ('模組應用 4: 引用 套件(Package) pypackage 的模組(Module) bank2 中的 類別 (class)')
    print ('原帳戶為:', acct)

    x = 500
    acct.deposit(x)
    print ('Call Bank 存款 ', x, '後 帳戶為:', acct)

    y=200
    acct.withdraw(y)
    print ('Call Bank 提款 ', y, '後 帳戶為:', acct)

    print(acct)
    全部共 0則留言
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應