python基础--面向对象之绑定非绑定方法
# 类中定义的函数分为两大类, #一,绑定方法(绑定给谁,谁来调用就自动将它本身当做第一个参数传入) # 1,绑定到类的方法:用classmethod装饰器装饰的方法。 # 对象也可以掉用,仍将类作为第一个参数传入 # 2,绑定到对象的方法:没有被任何装饰器装饰的方法 # 注意,此时如果类调用对象方法,不会自动传值,需要自己手动传入 # 对象本身。 # 类只有一个,因此对象掉用类方法会自动传值,对象可以有很多个,类调用对象方法 # 时需要传入对象值 class A:@classmethoddef tell_class(cls):# 一般绑定到类的方法这样写,不写self,写clsprint(cls)def tell_obj(self):print(self) a = A() a.tell_class() a.tell_obj() A.tell_class() A.tell_obj(a) # 二,非绑定方法,用staticmethod装饰器装饰的方法 # 1,不与类和对象绑定,类和对象都可以调用,但是就不会自动传值了 # 就相当于一个普通的函数 # 注意:没有装饰器装饰的方法为绑定到对象的方法 import hashlib import time class MySQL:def __init__(self,host,port):self.id = self.create_id()self.host = hostself.port = port@staticmethoddef create_id():# 就是一个普通的函数m = hashlib.md5(str(time.time()).encode('utf-8'))return m.hexdigest() print(MySQL.create_id) #<function MySQL.create_id at 0x0000000001E6B9D8> #查看结果为普通函数 conn=MySQL('127.0.0.1',3306) print(conn.create_id) #<function MySQL.create_id at 0x00000000026FB9D8> #查看结果为普通函数
转载于:https://www.cnblogs.com/cong12586/p/11366535.html
python基础--面向对象之绑定非绑定方法相关推荐
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- python基础—面向对象
python基础-面向对象 面向对象 面向过程VS面向对象 类和实例 实例变量和类变量 类的方法 实例方法 静态方法 类方法 面向对象的组合用法 封装.继承和多态 封装 继承 派生 方法的重写 继承注 ...
- python基础 面向对象编程
目录 面向对象编程 1.什么是面向对象编程? 面向过程编程思想 面向对象编程思想 2.什么是类?如何定义. 类: 对象 3.如何产生对象? 调用类时的事件: 4.对象属性的查找顺序: 5.类内部的函数 ...
- Python 基础--面向对象编程
在至今我们编写的所有程序中,我们曾围绕函数设计我们的程序,也就是那些能够处理数据的代码块.这被称作*面向过程(Procedure-oriented)*的编程方式.还有另外一种组织起你的程序的方式,它将 ...
- 学Python基础面向对象看这一篇文章就够了【全网首推】
目录 面相对象基础语法 目标 01. dir 内置函数(知道) 02. 定义简单的类(只包含方法) 2.1 定义只包含方法的类 2.2 创建对象 2.3 第一个面向对象程序 03. 方法中的 self ...
- Python基础总结之常用内置方法总结
文章目录 前言 1.str 1.1.内置方法: 1.2.常用的内置方法 1.3.String模块的一些方法 2.list 2.1.内置方法 2.2.常用内置方法 3.tupple 3.1.内置方法 3 ...
- python基础--面向对象(一)
面向对象的介绍 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 举例: 1)解决菜鸟买电脑的故事 第一种方式: 1)在网上查找资料 2)根据自己预算和 ...
- [python基础] 面向对象——封装,继承
面向对象 一.面向对象的基础知识 二.类和面向对象 三.封装 四.继承 (1).基本使用方法 (2).链表相加 (3).多继承 (4).私有属性与私有方法 一.面向对象的基础知识 1.面向对象 定义: ...
- python基础----面向对象的程序设计(五个阶段、对小白的忠告、关于OOP常用术语)、类、对象...
一.面向对象的软件开发有如下几个阶段 1.面向对象分析(object oriented analysis ,O ...
- Python基础-面向对象编程
本文完全转载自廖雪峰大神的教程: 面向对象编程 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数 ...
最新文章
- Linux-find命令应用举例-按时间筛选和删除文件
- 【Paper】2013_基于一致性理论的无人机编队控制器设计_郭伟强
- java虚拟机启动参数分类详解
- 深度卷积神经网络CNNs的多GPU并行框架及其应用
- 关于重定向页面和请求转发页面的区别
- 一种语音识别的自动控制系统及方法与流程
- struts2.2跟jstl怎么整合
- 园区内智慧出行标准化白皮书(2022年)
- react中使用微信jssdk分享总结
- Java代码简洁-validation参数校验
- nbu客户端卸载_卸载NETBACKUP FOR LINUX
- WHERE条件子句 | 零基础自学SQL课程系列Day5
- Leetcode 2214. Minimum Health to Beat Game [Python]
- BugZhu抽抽抽!!(已知三角形三点坐标,求外接圆半径及三角面积)
- 有什么便签可以直接当桌面吗?可以显示出便签全部内容
- java打印空心六边形_带文字的空心六边形。
- 实验室功放三极,669,649,TIP122,127,5551,5401引脚和NE5532
- python 命令行参数 parser.add_arguement 中各参数的意思
- PX4中文维基汉化项目启动
- TensorFlow v1 入门教程
热门文章
- mysql dbf导入数据库_MySQL数据库如何导入dbf格式数据?
- 5分钟学会 Vim 分屏操作方方面面
- 不敢相信?System.currentTimeMillis() 居然存在性能问题
- 早期微信抢红包插件项目分享
- pythotn基础篇——条件分支与循环--1
- php 多个files 数量,php – 具有多个字段时$_FILES数组的奇怪格式
- arm-linux cannot find -lgcc_s,arm-linux-gcc编译avrdude时报错: cannot find -lncurses
- linux ftp常用操作,linux 操作 ftp 常用命令
- maxvalue mysql自动分区_深入解析MySQL分区(Partition)功能
- 力扣题目系列:746. 使用最小花费爬楼梯 -- 一道动态规划入门题