pythonベース-task 7打カード

7528 ワード

練習問題:
1、次のクラス定義でクラス属性とインスタンス属性はどれですか.
class C:
    num = 0
    def __init__(self):
        self.x = 4
        self.y = 5
        C.count = 6
  • num,C.countはクラス属性
  • である.
  • self.x,self.yはインスタンス属性
  • である
    2、どのように私有方式を定義しますか?
  • Pythonでプライベート変数を定義するには、変数名または関数名に「」を付けるだけです.2つの下線を引くと、この関数や変数はプライベートになります.

  • 3、次のコードを実行して、エラーの原因を説明します.
    class C:
        def myFun():
            print('Hello!')
    c = C()
    c.myFun()
    
  • TypeError: myFun() takes 0 positional arguments but 1 was given
  • selfパラメータが欠けています.以下は正しい書き方
  • です.
    class C:
        def myFun(self):
            print('Hello!')
    c = C()
    c.myFun()
    

    4、以下の要求に従って遊園地のチケットのクラスを定義し、大人2人+子供1人の平日チケットを計算してみる.
  • 要求:
  • 平日運賃100元
  • 週末運賃は平日の120%
  • です
  • キッズチケット半額
  • class Ticket():
        class Ticket():
        def __init__(self):
            self.weekday_price = 100
            self.weekend_price = self.weekday_price * 1.2
            
        def WeekdayPrice(self):
            self.adult = int(input('       :'))
            self.children = int(input('       :'))
            print('    :',self.adult*self.weekday_price + self.children*self.weekday_price/2)
        
        def WeekendPrice(self):
            self.adult = int(input('       :'))
            self.children = int(input('       :'))
            print('    :',self.adult*self.weekend_price + self.children*self.weekend_price/2)
    
    t = Ticket()
    t.WeekdayPrice()
    
    '''       :2
           :1
        : 250.0'''