python-面向对象(绑定方法与非绑定方法)
一、绑定方法:
绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入
1.绑定给对象的方法:类中定义的函数默认就是绑定给对象的
2.绑定给类的方法:为类中定义的函数加上一个装饰器classmethod
二、非绑定方法:
即不与类绑定,又不与对象绑定,意味着对象和类都可以来调用,无论谁来调用都是一个普通函数,没有自动传值的效果
import settings class Mysql: def __init__(self,ip,port): self.ip = ip self.port = port self.id =self.create_id() def tell_info(self): print('id:%s,ip:%s port:%s'%(self.id,self.ip,self.port)) @classmethod def from_conf(cls): return cls(settings.ip,settings.port)#clx(ip,port) @staticmethod def create_id(): import uuid return uuid.uuid4() # obj = Mysql('1.2.3.4','3006') obj = Mysql.from_conf() obj.tell_info()
后期补全!
焚膏油以继晷,恒兀兀以穷年。低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)
接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个: 通过对一个对象进行加锁来实现同步,如下面代码。 synchronized(lockObject){ //代码 } 对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。如下面代码 public synchornized void test(){ //代码 } 但这里需要指出的是,无论是对一个对象进行加锁还是对一个方法进行加锁,实际上,都是对对象进行加锁。 也就是说,对于方式2,实际上虚拟机会根据synchronized修饰的是实例方法还是类方法,去取对应的实例对象或者Class对象来进行加锁。 对于synchronized这个关键字,可能之前大家有听过,他是一个重量级锁,开销很大,建议大家少用点。但大家可能也听说过,但到了jdk1.6之后,该关键字被进行了很多的优化,已经不像以前那样不给力了,建议大家多使用。 那么它是进行了什么样的优化,才使得synchronized又深得人心呢?为何重量级锁开销就大呢? 想必大家也都听说过...
- 下一篇
基于ExoPlayer的ExoVideoView
前言 本人之前写过一篇名为基于ExoPlayer的ExoPlayerVideoView的文章,近日发现竟然被盗用了。 今日再次发布本文是因为ExoVideoView升级啦,新版的更好用,支持更多功能,支持自定义controller。特性 1.自动处理音频焦点。 2.根据传感器自动处理方向。 3.手势支持。 4.多清晰度选择支持。 5.为控制器添加自定义布局. 6.调整显示大小。 7.自定义controller。 使用 ExoVideoView 1.依赖 最简单的方式是加入gradle依赖。请确认在工程的build.gradle中添加了JCenter和google()。 repositories { jcenter() google() } 然后在你的项目中添加如下代码: implementation 'com.jarvanmo:exoplayerview:2.0.8' 2.在xml中定义 在xml中使用 ExoVideoView: <com.jarvanmo.exoplayerview.ui.ExoVideoView android:id="@+id/videoView" and...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker使用Oracle官方镜像安装(12C,18C,19C)