Pyhonなんて勉強1

2673 ワード

#!/usr/bin/python

  # Filename: class.py
__metaclass__=type 

class Person:
    def set_name(self,name):
        self.name=name
    def get_name(self):
        return self.name
    def set_age(self,age):
        self.age=age
    def get_age(self):
        return self.age
    def greet(self):
        print ("hello,world!,I'm %s." %self.name)

テスト結果の実行:
 1 Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
 2 Type "copyright", "credits" or "license()" for more information.
 3 >>> ================================ RESTART ================================
 4 >>> 
 5 >>> lewis=Person()
 6 >>> lc=Person()
 7 >>> zhanglei=Person()
 8 >>> zhanglei.set_name('ZhangLei')
 9 >>> lewis.greet
10 <bound method Person.greet of <__main__.Person object at 0x02DD8CB0>>
11 >>> lewis.greet()
12 hello,world!,I'm Lewis Liu.
13 >>> zhanglei.greet()
14 hello,world!,I'm ZhangLei.
15 >>> 

クラスメソッドにおけるselfの説明について:(省略自:簡明Pythonチュートリアル---A Byte of Python)
  • クラスメソッドは、通常の関数と重要な違いがあります.追加の最初のパラメータ名が必要ですが、このメソッドを呼び出すときにこのパラメータに値を割り当てないと、Pythonはこの値を提供します.この特別な変数は、オブジェクト自体を指し、慣例に従ってその名前はselfである.
  • 例:クラスMyClassとクラスのオブジェクトMyObjectがあります.このオブジェクトのメソッドMyObject.method(arg1, arg2)を呼び出すと、PythonはMyClass.method(MyObject, arg1, arg2)に自動的に変換されます.これがselfの原理です.
  • クラスメソッドにパラメータがない場合、selfパラメータを定義する必要があります.