python面试大全(3)
python前言(0)
发布于2019-08-22 17:51 阅读(535) 评论(0) 点赞(30) 收藏(4)
魔法方法总是被双下划线包围,如__init__,是面向对象的python的一切,能够在适当的时候被自动调用
工厂函数就是类对象
__ add__(self,other) | 定义加法的行为:+ |
---|---|
__ sub__(self,other) | 定义减法的行为:- |
__ mul__(self,other) | 定义乘法的行为:* |
__ truediv__(self,other) | 定义真除法的行为:/ |
__ floordiv__(self,other) | 定义整数除法的行为:// |
__ mod__(self,other) | 定义取模算法的行为:% |
__ divmod__(self,other) | 定义当被 divmod() 调用时的行为,divmod(a, b)返回一个元组:(a//b, a%b) |
__ pow__(self,other[,modulo]) | 定义当被 power() 调用或 ** 运算时的行为 |
__ Ishift__(self,other) | 定义按位左移位的行为:<< |
__ rshift__(self, other) | 定义按位右移位的行为:>> |
__ and__(self, other) | 定义按位与操作的行为:& |
__ xor__(self, other) | 定义按位异或操作的行为:^ |
__ or__(self, other) | 定义按位或操作的行为: |
使用 super() 这个 BIF 函数。
将某种特殊类型的类的实例指派给另一个类的属性
(至少实现以下至少一个)
与其他编程语言中的接口很相似,它规定你哪些方法必须要定义。
在python中,协议更像是一种指南
python基于序列的三大容器类指:列表(List)、元组(Tuple)、字符串(String)
python提供的两个BIF
-
利用迭代器计算斐波那契数列
class Fibs:
def __init__(self,n=10):
self.a = a
self.b = b
self.n = n
def __iter__(self):
return self
def __next__(self):
self.a,self.b = self.b,self.a+self.b
if self.a > self.n:
raise StopIteration
return self.a
运行结果:
>>>fibs = Fibs()
>>>for each in fibs:
print(each)
1
1
2
3
5
8
>>>fibs = Fibs(20)
>>>for each in fibs:
print(each)
1
1
2
3
5
8
13
作者:骷髅无悔
链接:https://www.pythonheidong.com/blog/article/53319/2498382b912caeaaf8a8/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!