首页 / PYTHON / Python3.7之内置方法
Python3.7之内置方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python3.7之内置方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2884字,纯文字阅读大概需要5分钟。
内容图文
![Python3.7之内置方法](/upload/InfoBanner/zyjiaocheng/646/a19cc160aeda4fb083d55ac84d55ba2b.jpg)
Python3.7之内置方法
一、反射
1.hasattr()函数
hasattr()函数用于判断对象是否包含对应的属性。
语法:hasattr(object, name)
参数:object -- 对象。name -- 字符串,属性名。
返回值:如果对象有该属性返回 True,否则返回 False。
class Example:
a = 1
b = 2
c = 3
print(hasattr(Example, 'a'))
print(hasattr(Example, 'b'))
print(hasattr(Example, 'd'))
'''
True
True
False
'''
2.getattr()函数
getattr() 函数用于返回一个对象属性值。
语法:getattr(object, name[, default])
参数:object -- 对象。name -- 字符串,对象属性。default -- 默认返回值,如果不提供该参数,在没有对应属
性时,将触发 AttributeError。
返回值:返回对象属性值。
print(getattr(Example, 'a')) # 获取属性a的值
print(getattr(Example, 'd', None))
print(getattr(Example, 'd'))
'''
1
None
Traceback (most recent call last):
……
AttributeError: type object 'Example' has no attribute 'd'
'''
获取对象属性后返回值可直接使用:
class A:
def set(self, a, b):
x = a
a = b
b = x
print(a, b)
A1 = A()
c = getattr(A1, 'set')
c(1, 2)
'''
2 1
'''
3.setattr()函数
setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的。
语法:setattr(object, name, value)
参数:object -- 对象。name -- 字符串,对象属性。value -- 属性值。
返回值:无。
对已存在的属性进行赋值
class Example:
a = 1
b = 2
c = 3
print(getattr(Example, 'c'))
setattr(Example, 'c', 4)
print(Example.c)
如果属性不存在会创建一个新的对象属性,并对属性赋值:
print(getattr(Example, 'd', None))
setattr(Example, 'd', 10)
print(Example.d)
'''
None
10
'''
4.delattr()函数
描述:delattr 函数用于删除属性。delattr(x, 'foobar') 相等于 del x.foobar。
语法:delattr(object, name)
参数:object -- 对象。name -- 必须是对象的属性。
返回值:无。
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print('x = ', point1.x)
print('y = ', point1.y)
print('z = ', point1.z)
delattr(Coordinate, 'z')
print('--删除 z 属性后--')
print('x = ', point1.x)
print('y = ', point1.y)
# 触发错误
print('z = ', point1.z)
'''
x = 10
y = -5
z = 0
--删除 z 属性后--
x = 10
y = -5
'''
二、isinstance()函数
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
语法:isinstance(object, classinfo)
参数:object -- 实例对象。classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
对于基本类型来说 classinfo 可以是:int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
a = 2
print(isinstance(a, int))
print(isinstance(a, str))
print(isinstance(a, (str, int, list))) # 是元组中的一个返回True
'''
True
False
True
'''
type()与isinstance()的区别
class A:
pass
class B(A):
pass
print(isinstance(B(), A))
print(type(B()) == A)
'''
True
False
'''
三、issubclass()函数
描述:issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
语法:issubclass(class, classinfo)
参数:class -- 类。classinfo -- 类。
返回值:如果 class 是 classinfo 的子类返回 True,否则返回 False。
print(issubclass(B, A))
'''
True
'''
内容总结
以上是互联网集市为您收集整理的Python3.7之内置方法全部内容,希望文章能够帮你解决Python3.7之内置方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。