Created
September 5, 2012 16:46
-
-
Save toshimaru/3639714 to your computer and use it in GitHub Desktop.
python クラス基礎
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# http://d.hatena.ne.jp/kakurasan/20080414/p1 | |
#! /usr/bin/python | |
# -*- encoding: utf-8 -*- | |
a = 1 | |
class TestClass: | |
a = 10 # メンバ関数からは「self.a」で扱われる | |
def __init__(self): | |
"""オブジェクトの初期化処理・コンストラクタとも""" | |
a = 99 # __init__()内でのみ有効 | |
#self.a = a # この代入を実行するとメンバ変数aの値は初期化時に99になる | |
def meth1(self): | |
print "meth1(): a = %d" % a # グローバルな「a」 | |
def meth2(self): | |
a = 50 | |
print "meth2(): a = %d" % a # meth2()内でのみ有効な「a」 | |
def get_a(self): | |
return self.a | |
def set_a(self, new_a): | |
self.a = new_a | |
test = TestClass() | |
print "main: test.a = %d" % test.a # メンバ変数を直接参照している 値は10 | |
test.meth1() # グローバルな「a」を参照 値は1 | |
test.meth2() # meth2()内でのみ有効な「a」を参照 値は50 | |
print "main: test.get_a() = %d" % test.get_a() # メンバ変数を間接的に参照 値は10 | |
print "main: set_a(20)"; test.set_a(20) # メンバ変数を間接的に指定 | |
print "main: test.get_a() = %d" % test.get_a() # メンバ変数を間接的に参照 値は20 | |
print "main: test.a = %d" % test.a # メンバ変数を直接参照 値は20 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment