一:绑定方法:其特点是调用方本身自动作为第一个参数传入
1.绑定到对象的方法:调用方是一个对象,该对象自动传入
2.方法绑定到类:调用方是类,类自动传入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import settings_A
class 后台数据库:
def __init__( self ,ip,port):
self .ip = ip
self .port = port
def 基本功能( self ):
print ( '%s:%s' % ( self .ip, self .port))
@classmethod # 将下面的函数装饰成绑定给类的方法
#从配置文件当中获取对应参数来完成实例化
def 基本功能A(cla):
#要造对象,调的是类
print (cla)
return cla(settings_A.IP, settings_A.PORT)
obj1 = 后台数据库( '1.1.1.1' , 3306 )
print (obj1)
print ( '=' * 100 )
print (obj1.__dict__) #对应参数输出的结果
obj2 = 后台数据库.基本功能A()
print ( '=' * 100 )
print (obj2.__dict__)
|
settings_A的基本内容
1
2
|
IP='127.8.2.1'
PORT=3306
|
效果
二:非绑定方法,静态方法
没有绑定:调用方可以是类、对象,没有自动传参的效果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
class 后台数据库:
def __init__( self ,ip,port):
self .nid = self .对用户 id 的处理()
self .ip = ip
self .port = port
@staticmethod # 将下述函数装饰成一个静态方法
def 对用户 id 的处理():
import uuid #uuid是个随机数模块
return uuid.uuid4()
@classmethod
def 功能 1 ( cls ):
pass
def 功能 2 ( self ):
pass
obj1 = 后台数据库( '1.1.1.1' , 3306 )
print (后台数据库.对用户 id 的处理)
print (后台数据库.功能 1 )
print (obj1.功能 2 )
|
效果
到此这篇关于python中绑定方法与非绑定方法的实现示例的文章就介绍到这了,更多相关python 绑定方法与非绑定方法内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/CSDNXXCQ/article/details/120517781