python 3-クラスとオブジェクト-クラスで定義された関数-バインドメソッド、非バインドメソッド
1612 ワード
目次
クラスで定義された関数
一、バインド方法(クラス方法)
1-1クラスをバインドする方法(クラスメソッド)
1-2バインドオブジェクト(クラス内の一般的なメソッド)
二、非バインド方法(静的方法)
クラスで定義された関数
一、バインド方法(クラス方法)
1-1クラスをバインドする方法(クラスメソッド)
1-2バインドオブジェクト(クラス内の一般的なメソッド)
二、非バインド方法(静的方法)
クラスで定義された関数
一、バインド方法(クラス方法)
1-1クラスをバインドする方法(クラスメソッド)
1-2バインドオブジェクト(クラス内の一般的なメソッド)
二、非バインド方法(静的方法)
クラスで定義された関数
'''
、 、 :
, , , 。
, self , cls 。
'''
一、バインド方法(クラス方法)
1-1クラスをバインドする方法(クラスメソッド)
'''
:@classmethod
, ( 、 )
class Test:
@classmethod
def test(cls): # , cls
pass
'''
class Test2:
@classmethod
def f2(cls):
print(cls)
t.f2()
Test2.f2()
1-2バインドオブジェクト(クラス内の一般的なメソッド)
class Test2:
def f1(self):
print('f1')
t = Test2()
t.f1()
二、非バインド方法(静的方法)
'''
:@staticmethod
, 。 、
class Test:
@staticmethod
def test(): # : .
pass
'''
class Test2:
@staticmethod
def f3():
print('f3')
t.f3()
Test2.f3()
import settings
class MySql:
def __init__(self, ip, port):
self.id = self.create_id()
self.ip = ip
self.port = port
def tell_info(self):
print(self.id, self.ip, self.port)
@classmethod
def from_conf(cls):
# ,
return cls(settings.IP, settings.PORT)
@staticmethod
def create_id():
import uuid
# uuid
return uuid.uuid4()
obj = MySql.from_conf()
obj.tell_info()