python里面bif是啥意思_Python 类的一些BIF

issubclass

issubclass(cls, class_or_tuple, /)

Return whether 'cls' is a derived from another class or is the same class.

class A:

pass

class B(A):

pass

class C:

pass

print(issubclass(A,(B,A))) # 一个类会被认为自己的子类 .

print(issubclass(A,B)) # 第一个是否是第二个类的子类

print(issubclass(B,(A,C)))

help(issubclass)

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

True

True

True

False

>>>

isinstance

#isinstance 检查一个实例对象是否属于一个类 . (第二个也可以是一个元祖 可以有多个类.)

class A:

pass

class B(A):

pass

class C:

pass

b1=B()

print(isinstance(b1,A))

print(isinstance(b1,B))

print(isinstance(b1,C))

print(isinstance(b1,(C,B)))

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

True

True

False

True

>>>

hasattr  判断一个 对象里面有没有该属性

# hasattr(第一个是对象.第二个是属性名) (attr=attribute 属性)

class A:

pass

class B(A):

pass

class C:

def __init__(self,x=0):

self.x=x

#测试一个对象是否有指定的和属性.

c1=C()

print(hasattr(c1,'x'))# 属性必须用 '' 来 修饰

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

True

>>>

getattr(实例对象,属性,不存在打印的值)(attribute 属性)  得到一个实例对象的属性的值 , 如果该属性不存在则打印第三个参数

# getattr(object,name[,default) 返回对象指定的属性值 如果指定的参数不存在 如果你制订了default则会defaulf打印出来,否则会有一个arrtibute的异常 ,

class A:

pass

class B(A):

pass

class C:

def __init__(self,x=0):

self.x=x

c1=C()

print(getattr(c1,'x'))

print(getattr(c1,'y','您所访问的属性不存在'))

0

您所访问的属性不存在

>>>

setattr(实例对象,属性,值) 给实例对象一个属性值 如果该属性不存在则 建立属性然后赋值 .

class A:

pass

class B(A):

pass

class C:

def __init__(self,x=0):

self.x=x

c1=C()

print(getattr(c1,'y','您访问的属性不存在'))

print(setattr(c1,'y',0))

print(getattr(c1,'y','您访问的属性不存在'))

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

您访问的属性不存在

None

0

>>>

delattr(实例变量,属性) 属性不存在则抛出 AttributeError的异常

class A:

pass

class B(A):

pass

class C:

def __init__(self,x=0):

self.x=x

c1=C()

print(getattr(c1,'y','您访问的属性不存在'))

print(setattr(c1,'y',0))

print(getattr(c1,'y','您访问的属性不存在'))

print(delattr(c1,'y'))

print(getattr(c1,'y','您访问的属性不存在'))

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

您访问的属性不存在

None

0

None

您访问的属性不存在

>>>

property(fget=None,fset=None,fdel=None,doc=None)

(得到 , 重置 , 删除 . )

class C:

def __init__(self,size=10):

self.size=size

def getSize(self):

return self.size

def setSize(self,value):

self.size=value

def delSize(self):

del self.size

x=property(getSize,setSize,delSize,'这个难道是注释')

c1=C() # 生成一个 对象实例

print(c1.getSize()) # 调用getSize()函数 .

print(c1.x)

c1.x=18

print(c1.size) # 调用 size 属性 .

print(c1.getSize())

del c1.x

print(c1.size)

=============== RESTART: C:/Users/Administrator/Desktop/new.py ===============

10

10

18

18

Traceback (most recent call last):

File "C:/Users/Administrator/Desktop/new.py", line 30, in

print(c1.size)

AttributeError: 'C' object has no attribute 'size'

>>>

Python类中super()和__init__()的关系

Python类中super()和__init__()的关系 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(sel ...

LightMysql:为方便操作MySQL而封装的Python类

原文链接:http://www.danfengcao.info/python/2015/12/26/lightweight-python-mysql-class.html mysqldb是Python ...

python 类属性与方法

Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...

python 类以及单例模式

python 也有面向对象的思想,则一切皆对象 python 中定义一个类: class student: count = 0         books = [] def __init__(self ...

Python类的特点 (1):构造函数与方法

Python中,类的特点: #encoding:utf-8 class Parent(object): x=1 #x是Parent类的属性(字段) def __init__(self): print ...

Python类属性,实例属性

1.Python类数据属性:定义在类里面但在函数外面的变量,它们都是静态的. #一段很简单的代码,但反应了很多 >>> class A(): a=1 #一个类里面有个属性a > ...

python类及其方法

python类及其方法 一.介绍 在 Python 中,面向对象编程主要有两个主题,就是类和类实例类与实例:类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中 ...

python类的定义和使用

python中类的声明使用关键词class,可以提供一个可选的父类或者说基类,如果没有合适的基类,那就用object作为基类. 定义格式: class 类名(object): "类的说明文档 ...

Python类的探讨

我们下面的探讨基于Python3,我实际测试使用的是Python3.2,Python3与Python2在类函数的类型上做了改变 1,类定义语法  Python类定义以关键字class开头,一个类定义例 ...

随机推荐

如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)

上篇文章说到接口安全的设计思路,如果没有看到上篇博客,建议看完再来看这个. 通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出. 对于安全 ...

理解记忆三种常见字符编码:ASCII, Unicode,UTF-8

理解什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是25 ...

@ResponseBody 返回中文乱码问题解决 spingmvc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值