[分享] 在寫Class中...

心情、日記、思想、評論。
版面規則
  1. 本板供會員抒發心情、分享經驗之用。
  2. 所有內容將自動視為作者保證為真實發生而非虛構;如果確知虛構部份或全體,將視情況處理。
  3. 內容牽涉到其他人時,視作已徵詢同意或無須徵求同意論;若收到抗議,會視情況刪除。
  4. 本板設有心情、想法、分享和其他四種分類,請依照發表內容進行選擇:
    • 「心情」是「抒發心情」
    • 「想法」是「對事物的看法」
    • 「分享」是「作品、經驗及資訊分享」
    • 不屬上述即「其他」
  5. 其餘規定參照總版規。
回覆文章
匿名 1
社會性別:
星座:

#1 [分享] 在寫Class中...

文章 匿名 1 » 2023年 1月 31日, 21:58

覺得python黑魔法真的讓人頭暈…… (例如: Metaclass, Closure......)


今天寫計算的Class

代碼: 選擇全部

"""this is a Caculate class

parameter must int or float
"""
class Caculate:
    """
    sum, sub, mult, div, root, pow must has 2 parameter (a, b)
    sqr, cub, spr, cur must have 1 parameter (a)
    """
    def __init__(self):
        print('lets caculate!')
    def sum(self, a, b):
        print(a+b)
    def sub(self, a, b):
        print(a-b)
    def mult(self, a, b):
        print(a*b)
    def div(self, a, b):
        try:
            print(a/b)
        except ZeroDivisionError:
            print('Divisor cannot be 0')
    def squ(self, a):
        print(a**2)
    def cub(self, a):
        print(a**3)
    def sqr(self, a):
        print(a**0.5)
    def cur(self, a):
        cubr = 1/3
        print(a**cubr)
    def root(self, a, b):        
        try:
            root_num = 1/b
            print(a**root_num)
        except ZeroDivisionError:
            print("Second parameter cannot be 0")
    def pow(self, a, b):
        if a == 0:
            if b != 0:
                try:
                    print(a**b)
                except ZeroDivisionError:
                    print('0 cannot be raised to a negative power')
            if b == 0:
                print(a**b)
                print("But Limit does not exist")
        else:
            print(a**b)
螢幕擷取畫面 2023-01-31 215414.png
您沒有權限檢視這篇文章所附加的檔案。

回覆文章

加入會員或登入帳號以參加討論

您需要成為會員才能回文

加入會員

歡迎加入野邦,一片獸迷得以暢所欲言、自由發夢的天地
提供不受演算法干擾的文章顯示、無限的網路空間
以及寬容的環境

註冊

登入帳號

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客