Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

Python -- Records项目学习

$
0
0
Records学习笔记

Records链接地址

1.__getitem__(self, key) 内建方法(Build-in)

例子:

1 class Test(object): 2 3 def __getitem__(self, key): 4 5 print("test") 6 7 return 1 8 9 10 11 t = Test() 12 13 print(t["m"])

运行结果:

>>> hello >>> 1

2.___getattr__(self, name) 内建方法(Build-in)

该方法在未找到对象的属性值的时候调用.

例子:

1 class Test(object): 2 def __getattr__(self, name): 3 print("test") 4 return 1 5 6 t = Test() 7 print(t.m)

运行结果:

>>> hello >>> 1

去掉__getattr__函数时,会提示没有m这个属性的错误。

3.@property 装饰器

用于将一个函数生产对应的getter函数

实例:

class Test(object): @property def name(self): return self._name @name.setter def name(self, name): self._name = name t = Test() t.name = "hello" print(t.name)

运行结果:

>>> hello

4.A if 条件 else B(语法)

print("1") if __name__=='__main__' else print("2")

5.__enter__和__exit__内建方法(Build-in)

用于with语句块,当进入with语句块的时候调用__enter__

当离开with语句块的时候调用__exit__

例子:

1 class test(object): 2 def __enter__(self): 3 print("enter") 4 return self 5 def __exit__(self, type, value, traceback): 6 print("out") 7 del self 8 with test() as m: 9 m.name = 1 10 print (m.name)

运行结果:

>>> enter >>> 1 >>> out

6. __iter__(self) 迭代器(Build-in)

通过__iter__函数获得一个迭代器对象, 调用迭代器的next方法不断获得下一个值.

例子:

1 class test(object): 2 def __init__(self): 3 self.a = 1 4 self.b = 1 5 def __iter__(self): 6 return self 7 def __next__(self): 8 test = self.a + self.b 9 self.a, self.b = self.b, test 10 return self.a 11 def next(self): 12 return self.__next__ 13 14 for i in test(): 15 if i > 1000: 16 break 17 print(i)


Viewing all articles
Browse latest Browse all 9596

Trending Articles