Pythonでオブジェクトにクラスをアタッチしようとすると少し問題があります。私はテキストファイル 'file'を持っています。これは各行のリストに分かれています。プログラムはすべての行を読み、名前とロングネームを表示します。クラスをオブジェクトにアタッチしようとするとエラーメッセージが表示される
「ジョン 『\ n』のジョン・トラボルタ」(...)
ここでは、コードの私のビットがあります:
class Name:
def __init__(self, name, longname):
self.name=name
self.longname=longname
def __str__(self):
s="Name:"+self.name
s+="\n Longname:"+self.longname
def func():
for line in file:
name=line[:1]
longname=line['\n':]
c=Name(name, longname)
c.func()
私は私のエラーメッセージが表示されます。このように見えるテキストファイルことを想像してみて'name'と 'longname'は定義されていませんが、私はこれを私の関数で行いました??? :(
私はクラスの外の関数を置く場合には、このように、動作します:
def func():
for line in file:
name=line[:1]
longname=line['\n':]
c=Name(name, longname)
print c
ヘルプが必要ですあなたがそれらを使用することができます前に、名前とLONGNAMEに何かを割り当てる必要が
'' name 'と' shortname 'が定義されていないと言ったとき、あなたは 'name'と' longname'が定義されていないことを意味します。 – Snaxib
宿題に問題がありますか? –
はい、私は 'ロングネーム'を意味します。はい宿題の問題とこれは本当の問題ではない、私のプログラム内で問題を説明しようとしているだけの例 – John