Python—面向对象06 内置方法
一 .isinstance(obj,cls)和issubclass(sub,super)
isinstance(obj,cls)检查是否obj是否是类 cls 的对象
class Foo(object):
pass
obj = Foo()
isinstance(obj, Foo)
issubclass(sub, super)检查sub类是否是 super 类的派生类
class Foo(object):
pass
class Bar(Foo):
pass
issubclass(Bar, Foo)
2. item系列
_开头 __结尾 的方法,在python中是系统内置的方法,一般会在某个时候自动触发
# item 系列
class Foo:
def __init__(self, name):
self.name = name
def __getitem__(self, item): # item = 'name'
# print('getitem.....')
# print(item)
return self.__dict__.get(item)
def __setitem__(self, key, value):
# print('setitem....')
# print(key, value)
self.__dict__[key] = value
def __delitem__(self, key):
self.__dict__.pop(key)
# del self.__dict__[key]
obj = Foo("gd")
# item 模拟字典的取值方式
print(obj['name']) #gd 触发 __getitem_ 方法
# 设置
obj['sex'] = 'boy'
print(obj.__dict__) # {'name': 'gd', 'sex': 'boy'}
# 删除
del obj['sex'] # 触发 __delitem__
print(obj.__dict__) # {'name': 'gd'}
3. __ str __
dic = {'name':'kaka', 'skill':'写轮复制'}
print(dic) # print(dic) #
# 类比一下,如果是对象,这个时候打印出来的应该是 function地址之类的,但是现在直接打印出了里面的数据属性
#------------------------------------------
class People:
def __init__(self, name, age):
self.name = name
self.age = age
# 打印对象的时候就会触发该方法,然后我们可以根据需求设置返回值
def __str__(self):
return 'name:%s age:%s'%(self.name, self.age)
obj = People('gd', 22)
print(obj) # 此时会触发 __str__方法
# name:gd age:22
4. __ del __
class Open:
def __init__(self, file_name):
self.file_name = file_name
def __del__(self):
# 程序运行结束后会调用此方法,可以在这里做 资源回收的逻辑
print("程序运行结束....")
f = Open('123.txt')
print("哒哒哒...")
# 哒哒哒...
# 程序运行结束....
....................
其他内置方法........后续碰到再补充
Python—面向对象06 内置方法的更多相关文章
- python 面向对象的内置方法
要求:了解即可,能用最好 """ 1.print(obj), str(obj), %s % (obj), 都调用obj.__str__()方法,若类中没有找__repr_ ...
- Python反射和内置方法(双下方法)
Python反射和内置方法(双下方法) 一.反射 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- python字符串常用内置方法
python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...
- python字符串处理内置方法一览表
python字符串处理内置方法一览表 序号 方法及描述 1 capitalize()将字符串的第一个字符转换为大写 2 center(width, fillchar) 返回一个指定的宽度 widt ...
- python 面向对象进阶之内置方法
一 isinstance(obj,cls)和issubclass(sub,super) 1.1,isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(obj ...
- python 反射和内置方法
一.isinstance和issubclass class Foo: pass class Son(Foo): pass s = Son() #判断一个对象是不是这个类的对象,传两个参数(对象,类) ...
- Python 类的内置方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # 作者:Presley # 邮箱:1209989516@qq.com # 时间:2018-11-04 # p ...
- NO.4:自学python之路------内置方法、装饰器、迭代器
引言 是时候开始新的Python学习了,最近要考英语,可能不会周更,但是尽量吧. 正文 内置方法 Python提供给了使用者很多内置方法,可以便于编程使用.这里就来挑选其中大部分的内置方法进行解释其用 ...
随机推荐
- 关于Json字符串"反序列化Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path..."
描述的很清楚就是说给它的不是一个对象,而是一个数组,所以他在建议你用JArray去解析,但是你明明就是给它的一个对象,并不是一个数组 这是我下意识的去把我的json字符串中的"[ ]&quo ...
- git win7 dos下设置代理
git config --global http.proxy http://username:pwd@my.you.com:port
- zstu 4212 ——String Game ——————【字符串处理】
4212: String Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 337 Solved: 41 Description Alice a ...
- windows下openssl config failed
老大让我们去学学webpack, 我在一开始就遇到了坎, 调侃自己"webpack从入门到放弃", 在windows下, 报错是"openssl config faile ...
- 使用Access作数据库
import java.sql.*; public class ConnectAccess { public static void main(String args[]){ ConnectAcces ...
- CMDB认识和需求分析
一.认识ITIL ITIL即IT基础架构库(Information Technology Infrastructure Library,信息技术基础架构库)由英国政府部门CCTA(Central ...
- 纯CSS实现Tab切换标签效果代码
在线演示地址如下: http://demo.jb51.net/js/2015/css-tab-bq-style-cha-codes/ <!DOCTYPE html PUBLIC "-/ ...
- 自动装配(AutoWire)
根据 autowire 的配置选择装配策略 byName 选择和属性名 name 一致的 bean 进行装配: byType 根据类型选择,如果对应的类型匹配到多个bean,则会报错,如下配置: &l ...
- 搭建 Spring 2.5.6 开发环境
1.jar 包准备: spring 2.5.6 的 jar 包(链接: http://pan.baidu.com/s/1skVFfcx 密码: mbiz),如图: commons-logging-1. ...
- PHP 运用rsa加密和解密实例
1.加密解密的第一步是生成公钥.私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin ...