1. ホーム
  2. パイソン

エラー時に演算子が期待される場所でベアワードが見つかった

2022-02-25 18:01:27

今日、簡単なpythonのプログラムを書いて、実行したら、次のようなエラーが出ました。

演算子が期待する場所にベアワードが見つかりました。

Bareword found where operator expected at classTest.py line 6, near "def"。



        (前の行のセミコロンの欠落?)



Bareword found where operator expected at classTest.py line 9, near ")



        def"



        (defの前に演算子がない?)



Bareword found where operator expected at classTest.py line 12, near ").



        def"



        (defの前に演算子がない?)



classTest.py 1行目、"class Wallet:"付近で構文エラーが発生しました。



classTest.py 3行目、"):"付近で構文エラーが発生しました。



コンパイルエラーにより、classTest.py の実行が中断されました。

私のコードは以下の通りです。

クラスのWalletです。



    walletCnt=0とする。



    def __init__(self,balance =0):



        self.balance =balance



        ウォレット.walletCnt+=1



    def getPaid(self,amnt):



        self.balance+=amnt



        self.displayBalance()   



    def spend(self,amnt):



        self.balance-=amnt



        self.displayBalance()



    def displayBalance(self):



        print 'ニューバランス:s%.2f' % self.balance







myWallet = Wallet(2)です。



youWallet = Wallet(2)です。







print myWallet.walletCnt;



print youWallet.walletCnt;











w= Wallet(50.0);



w.getPaid(100)。







print w.balance;



print myWallet.walletCnt;



print youWallet.walletCnt;



print w.walletCnt;

print myWallet.balance;

完全に言葉を失いました。何度か自分で確認しましたが問題が見つからず、ググってみると同じような問題を抱えている人がいました。しかし私とは違うようで、その人は実行時にパスの書き方が間違っていたためにこのような問題が発生したそうです。

触発されて調べてみたら、完全にフラフラしていた、perl classTest.pyと書いていた。

当たり前だ!!! 今、Perlのスクリプトを動かし終わったところですが、まだ脳みそは変わってませんnn!

今度から気をつけよう! 本当に、口を叩かずにはいられない。

この簡単な手順について、いくつか注意点があります。

   1 walletCnt=0;はクラス変数で、あるオブジェクトでこの変数を変更すると、すべてのオブジェクトに適用されます。

    2 self.balance+=amnt balanceは、オブジェクトのみに属するオブジェクト変数で、各オブジェクトで同じ値を持つことはありません。

結果を実行します。

D:/Python>python classTest.py



2



2



ニューバランス:s150.00



150.0



3



3



3



2