V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Cheez  ›  全部回复第 13 页 / 共 16 页
回复总数  307
1 ... 5  6  7  8  9  10  11  12  13  14 ... 16  
2018-07-22 11:17:14 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
因为问题始终无法解决,最后换成了这种写法:
```
def vote(self):
print('赞同他')
self.vote.__dict__['count'] = self._vote
return self

```
调用的时候:
```
print('方法')
print(Article('37208344').vote())
print('属性')
print(Article('37208344').vote.count)
```
@ipwx #21
@wangyongbo #19
@Trim21 #15
2018-07-22 02:39:05 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
@ipwx 拿来好像也没什么用...
2018-07-21 20:12:26 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
@Trim21 #15
调用的时候比较方便一点 TAT
2018-07-21 20:02:38 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
@Trim21 #13

def vote_call(self):
print('赞同他')

@varCan(vote_call)
def vote(self):
print('获取赞同'+str(self._vote))
return self._vote

get 的时候也是要调用一个函数计算得到值的
2018-07-21 19:35:11 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
def intcan(call):
def allcan_func(f):

class allcan_class(int):
def __call__(self, instance, *args, **kwargs):

return call(instance)

def __get__(self, instance, owner):
return allcan_class(f(instance))
return allcan_class()
return allcan_func
最后用这个装饰器实现了 ans.vote,ans.vote()的功能

但是有个问题,调用 ans.vote 的时候会自动调用 ans.vote 值的相关代码,不知道怎么解决
@Trim21 #5
@yezhiye
@ipwx #8
@u2386 #4
2018-07-21 19:28:14 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
@yezhiye #10

zhihu.vote()
zhihu.vote

两个一个赞同,一个获取赞同,这不是很爽嘛
2018-07-21 17:51:19 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
@ipwx 怎么了
2018-07-21 17:15:50 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
最后这样好了

```

def intcan(call):
def allcan_func(f):

class vote(int):
def __call__(self, *args, **kwargs):

return call()

def __get__(self, instance, owner):
return vote(f())
return vote()
return allcan_func
```

就是很不优雅(笑哭
@u2386 #6
@Trim21
2018-07-21 15:36:08 +08:00
回复了 Cheez 创建的主题 问与答 Python 如何重载?
不是 None,具体见附言.
2018-07-20 20:07:05 +08:00
回复了 yongzhong 创建的主题 分享发现 chrome 新标签页出现奇怪的按钮和文字
f12 看一下
2018-07-20 09:45:16 +08:00
回复了 won 创建的主题 问与答 有偿征集一款小程序的名字
酒仓
2018-07-19 16:11:32 +08:00
回复了 Cheez 创建的主题 问与答 电信装 tenda 路由器的时候密码会怎么设的啊?
@biaoliruyi #3 现在很多路由器都这样
2018-07-19 11:48:35 +08:00
回复了 Cheez 创建的主题 问与答 电信装 tenda 路由器的时候密码会怎么设的啊?
@biaoliruyi 没有账号也没有密码
2018-07-18 09:30:24 +08:00
回复了 laziji 创建的主题 分享创造 普通网站防暴力破解登录密码的新设计
大哥,你的想法不错,但是直接限制 10 分钟内只能输入 3 次密码好像更好一点
2018-07-17 01:34:11 +08:00
回复了 Cheez 创建的主题 Python 茄子详解 Python qrcode 二维码模块
挽尊
2018-07-16 23:11:16 +08:00
回复了 Cheez 创建的主题 Python 茄子详解 Python qrcode 二维码模块
@omph 这个我一般都是用微信小程序之类的,自己生成的最多就是彩色,然后再加个 logo😂
2018-07-16 21:53:19 +08:00
回复了 Cheez 创建的主题 Python 茄子详解 Python qrcode 二维码模块
挽尊
2018-07-16 19:31:55 +08:00
回复了 Cheez 创建的主题 Python 茄子详解 Python qrcode 二维码模块
@GTim 怎么了
2018-07-16 18:50:02 +08:00
回复了 Cheez 创建的主题 Python 茄子详解 Python qrcode 二维码模块
挽尊
2018-07-14 21:43:00 +08:00
回复了 Cheez 创建的主题 Python 解决 Python print 输出文本显示 gbk 编码错误
格式居然乱了。。。。
1 ... 5  6  7  8  9  10  11  12  13  14 ... 16  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   982 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 19:39 · PVG 03:39 · LAX 12:39 · JFK 15:39
♥ Do have faith in what you're doing.