一般的に動的なスクリプト言語の場合、オブジェクト指向
のカプセル化が甘い。下記の「なんでも有りスタイル」は
「そのようにもコーディングが可能」と捉えるべきでしょうか?
それとも「これが防げない…」と捉えるべきでしょうか?
class PythonJoke :
  joke = 'Yadaa! '
  def __init__(self,str):
    self.name = str
  def say_joke(self):
    print PythonJoke.joke + self.name
    #いちいちPythonJoke.はまあ良しとして
pj = PythonJoke('Ruby')
pj.say_joke() #ここまではOK!
#クラス外でインスタンスフィールド作成?
pj.greeting = 'Kutabaree '
print pj.greeting
#クラス外でインスタンスメソッド作成?
import sys
pj.jodan = (lambda x=pj.greeting + pj.name + '\n':
      sys.stdout.write(x))
pj.jodan()
#さらにクラス属性さえもクラス外で変更できる?
PythonJoke.joke='Iyaanee! Perl'
print PythonJoke.joke

OP->PythonJoke:
Yadaa! Ruby
Kutabaree
Kutabaree Ruby
Iyaanee! Perl