Skip to content

Commit 93f86f8

Browse files
committed
decorators
1 parent 4d7e18a commit 93f86f8

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/Topics/Env_Python
2+
.DS_Store
3+
Topics/.idea

Topics/decorators.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
def smart_div_dec(original_fun):
2+
def smart_div(a,b):
3+
if a<b:
4+
a,b=b,a
5+
return original_fun(a,b)
6+
return smart_div
7+
8+
@smart_div_dec
9+
def div(a,b):
10+
print (a/b)
11+
12+
print(div(2,4))
13+
14+
15+
class smart_div_dec_class():
16+
def __init__(self,original_func):
17+
self.original_func = original_func
18+
def __call__(self, a,b):
19+
if a<b :
20+
a,b =b,a
21+
return self.original_func(a,b)
22+
23+
@smart_div_dec_class
24+
def div(a,b):
25+
print (a/b)
26+
27+
print(div(2,4))

0 commit comments

Comments
 (0)