jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

python函数重写怎么理解

来源:网络整理  作者:  发布时间:2020-12-22 10:19
jquery中文网为您提供python函数重写怎么理解等资源,欢迎您收藏本站,我们将为您提供最新的python函数重写怎么理解...

其它内建函数的重写方法:

# 此示例示意通过重写 repr 和 str方法改变转为字符串的规则 class MyNumber: def __init__(self, value): '构造函数,初始化MyNumber对象' self.data = value def __str__(self): '''转换为普通人识别的字符串''' # print("__str__方法被调用!") return "自定义数字类型对象: %d" % self.data def __repr__(self): '''转换为eval能够识别的字符串''' return 'MyNumber(%d)' % self.data n1 = MyNumber(100) n2 = MyNumber(200) print('repr(n1) ====>', repr(n1)) print('str(n2) ====>', str(n2))

相关推荐:《Python视频教程》

对象转字符串函数:repr(obj) ,返回一个能代表此对象的表达式字符串,通常eval(repr(obj)) == obj (这个字符串通常是给python解释执行器运行用的),str(obj) 通过给定的对象返回一个字符串(这个字符串通常是给人阅读的)。

格式:

__complex__ complex(obj) 函数

__int__ int(obj) 函数

# 此示例示意abs 函数的重写 class MyInteger: def __init__(self, v): self.data = v def __repr__(self): return 'MyInteger(%d)' % self.data def __abs__(self): v = abs(self.data) return MyInteger(v) # 用v创建另一个MyInteger对象 def __len__(self): return 10000 I1 = MyInteger(-10) print('I1 =', I1) I2 = abs(I1) print("I2 =", I2) print('len(I2)=', len(I2)) # 10000

数值转换函数的重写:

__len__ len(obj) 函数(必须返回整数)

__bool__

3. 如果obj.__repr__方法不存在,则调用object类的__repr__实例方法显示<__main__.XXXX object at 0xAABBCCDD>格式的字符串

2. 如果没有obj.__str__()方法时,则返回obj.__repr__()方法的结果并返回

# 此示例示意bool(x) 函数的重写 class MyList: '自定义类型的列表,用来保存数据,内部用一个列表来存储数据' def __init__(self, iterable=()): self.data = [x for x in iterable] def __repr__(self): return 'MyList(%s)' % self.data def __len__(self): '''返回长度''' print("__len__方法被调用") return len(self.data) def __bool__(self): print("__bool__方法调用") for x in self.data: if not x: return False return True # return False # <<=== 所有对象都为False myl = MyList([0, -1, 2, -3]) # myl = MyList() print(myl) print(bool(myl)) if myl: print("myl为真值") else: print('myl为假值')

以上就是python函数重写怎么理解的详细内容,更多请关注jquery中文网其它相关文章!

1. str(obj) 函数先查找, obj.__str__()方法,调用此方法并返回结果

__float__ float(obj) 函数

用于bool(obj) 函数取值

python函数重写怎么理解

3. 当不存在__len__(self) 方法时,则直接返回True

repr(obj) 函数的重写方法:

1. 当自定义的类内有 __bool__(self) 方法时,以此方法的返回值作为bool(obj) 的返回值

def __str__(self):

说明:

示例:

示例:

__abs__ abs(obj) 函数

__round__ round(obj) 函数

__reversed__ reversed(obj) 函数(必须返回可迭代对象

在自定义类内添加相应的方法,让自定义类创建的实例能像内建对象一样进行内建函数操作,这就是函数重写。

示例:

def __repr__(self):

str(obj) 函数的重写方法:
# 此示例示意数据转换构造函数的重写方法 class MyNumber: def __init__(self, value): self.data = value def __repr__(self): return 'MyNumber(%d)' % self.data def __int__(self): 'int函数的重载' return self.data n1 = MyNumber(100) x = int(n1) print(n1) print(bool(n1)) # True n2 = MyNumber(0) print(bool(n2)) # True

布尔测试函数重写:

__bool__ bool(obj) 函数 (见下面布尔测试函数重载)

用于while 语句的真值表达式中

对象转字符串函数的重写方法:

说明:

用于if语句的真值表达式中

2. 当不存在__bool__(self) 方法时,bool(x) 返回__len__(self) 方法的返回值是否为零来测试布尔值

作用:

示例:

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/7083.shtml

相关文章
最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

python函数重写怎么理解

2020-12-22 编辑:

其它内建函数的重写方法:

# 此示例示意通过重写 repr 和 str方法改变转为字符串的规则 class MyNumber: def __init__(self, value): '构造函数,初始化MyNumber对象' self.data = value def __str__(self): '''转换为普通人识别的字符串''' # print("__str__方法被调用!") return "自定义数字类型对象: %d" % self.data def __repr__(self): '''转换为eval能够识别的字符串''' return 'MyNumber(%d)' % self.data n1 = MyNumber(100) n2 = MyNumber(200) print('repr(n1) ====>', repr(n1)) print('str(n2) ====>', str(n2))

相关推荐:《Python视频教程》

对象转字符串函数:repr(obj) ,返回一个能代表此对象的表达式字符串,通常eval(repr(obj)) == obj (这个字符串通常是给python解释执行器运行用的),str(obj) 通过给定的对象返回一个字符串(这个字符串通常是给人阅读的)。

格式:

__complex__ complex(obj) 函数

__int__ int(obj) 函数

# 此示例示意abs 函数的重写 class MyInteger: def __init__(self, v): self.data = v def __repr__(self): return 'MyInteger(%d)' % self.data def __abs__(self): v = abs(self.data) return MyInteger(v) # 用v创建另一个MyInteger对象 def __len__(self): return 10000 I1 = MyInteger(-10) print('I1 =', I1) I2 = abs(I1) print("I2 =", I2) print('len(I2)=', len(I2)) # 10000

数值转换函数的重写:

__len__ len(obj) 函数(必须返回整数)

__bool__

3. 如果obj.__repr__方法不存在,则调用object类的__repr__实例方法显示<__main__.XXXX object at 0xAABBCCDD>格式的字符串

2. 如果没有obj.__str__()方法时,则返回obj.__repr__()方法的结果并返回

# 此示例示意bool(x) 函数的重写 class MyList: '自定义类型的列表,用来保存数据,内部用一个列表来存储数据' def __init__(self, iterable=()): self.data = [x for x in iterable] def __repr__(self): return 'MyList(%s)' % self.data def __len__(self): '''返回长度''' print("__len__方法被调用") return len(self.data) def __bool__(self): print("__bool__方法调用") for x in self.data: if not x: return False return True # return False # <<=== 所有对象都为False myl = MyList([0, -1, 2, -3]) # myl = MyList() print(myl) print(bool(myl)) if myl: print("myl为真值") else: print('myl为假值')

以上就是python函数重写怎么理解的详细内容,更多请关注jquery中文网其它相关文章!

1. str(obj) 函数先查找, obj.__str__()方法,调用此方法并返回结果

__float__ float(obj) 函数

用于bool(obj) 函数取值

python函数重写怎么理解

3. 当不存在__len__(self) 方法时,则直接返回True

repr(obj) 函数的重写方法:

1. 当自定义的类内有 __bool__(self) 方法时,以此方法的返回值作为bool(obj) 的返回值

def __str__(self):

说明:

示例:

示例:

__abs__ abs(obj) 函数

__round__ round(obj) 函数

__reversed__ reversed(obj) 函数(必须返回可迭代对象

在自定义类内添加相应的方法,让自定义类创建的实例能像内建对象一样进行内建函数操作,这就是函数重写。

示例:

def __repr__(self):

str(obj) 函数的重写方法:
# 此示例示意数据转换构造函数的重写方法 class MyNumber: def __init__(self, value): self.data = value def __repr__(self): return 'MyNumber(%d)' % self.data def __int__(self): 'int函数的重载' return self.data n1 = MyNumber(100) x = int(n1) print(n1) print(bool(n1)) # True n2 = MyNumber(0) print(bool(n2)) # True

布尔测试函数重写:

__bool__ bool(obj) 函数 (见下面布尔测试函数重载)

用于while 语句的真值表达式中

对象转字符串函数的重写方法:

说明:

用于if语句的真值表达式中

2. 当不存在__bool__(self) 方法时,bool(x) 返回__len__(self) 方法的返回值是否为零来测试布尔值

作用:

示例:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/7083.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页