类中定义的函数有两大类(3小种)用途,一类是绑定方法,另外一类是非绑定方法

1. 绑定方法:
特点:绑定给谁就应该由谁来调用,谁来调用就会将谁当作第一个参数自动传入
1.1 绑定给对象的:类中定义的函数默认就是绑定对象的
1.2 绑定给类的:在类中定义的函数上加一个装饰器classmethod 2. 非绑定方法
特点: 既不与类绑定也不与对象绑定,意味着对象或者类都可以调用,但无论谁来调用都是一个普通函数,根本没有自动传值一说
class Foo:
def func1(self):
print('绑定给对象的方法',self) @classmethod
def func2(cls):
print('绑定给类的方法: ',cls) @staticmethod
def func3():
print('普通函数')
#
#
# obj=Foo() # obj.func1()
# print(obj) # Foo.func2() # 绑定方法
# print(obj.func1)
# print(Foo.func2) #非绑定方法
# print(obj.func3)
# print(Foo.func3) 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('%s:%s:%s' %(self.id,self.ip,self.port)) @classmethod
def from_conf(cls):
return cls(settings.IP, settings.PORT) @staticmethod
def create_id():
import uuid
return uuid.uuid4() # obj=Mysql('1.1.1.1',3306)
# obj.tell_info() obj1=Mysql.from_conf() obj1.tell_info()

最新文章

  1. 【Paddy】如何将物理表分割成动态数据表与静态数据表
  2. 版本管理-SVN本地版本管理
  3. Resharp最新破解方法
  4. ADF_Starting系列7_使用EJB/JPA/JSF通过ADF构建Web应用程序之创建UI View
  5. IE8下使用webuploader点击无反应的解决方法。
  6. [CareerCup] 10.4 Find All Duplicates Elements 寻找所有的重复项
  7. shell脚本加密
  8. COB封装的优势
  9. framework各版本新特性(为面试准备)
  10. python机器学习实战(二)
  11. 常用业务接口界面化 in python flask
  12. mac下selenium+python环境搭建
  13. 【转】GPS定位原理
  14. 1、python同级目录及子目录模块引入
  15. unity中让物体移动到鼠标点击地面任一点的位置(单击移动和双击暂停移动)并生成图标
  16. htmlayout 最简单的实践,用于理解实现原理。
  17. bzoj 1975 [Sdoi2010]魔法猪学院
  18. android基于adb的性能测试
  19. Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告
  20. C++计算器项目的初始部分

热门文章

  1. VBS 移除excel数据公式,只保留值
  2. MySQL单列索引和组合索引的选择效率与explain分析
  3. jQuery实现高亮显示网页关键词的方法
  4. SQL语句,标准表达式中数据类型不匹配
  5. 数据驱动ddt
  6. Android API Guides---Bluetooth
  7. Android5.0新特性-Material Design
  8. Spring中Adivisor和Aspect的差别(自我理解)
  9. shell脚本学习总结01--文件描述符和重定向
  10. STM32 PWM的输出与Keil软件仿真