Python 板


LINE

请问一下在python里 有办法藉由class里的某个member(attribute) 就找到该Class吗? 假设c里面是这样写的话 struct A { .... .... int a; //certain member }; struct A a; void *ptr = &a.a; ptr= ptr - ((struct A *)0)->a; ptr这时候会等於 &a; 这样子的暴力手段python有办法实作出来吗? 或是有什麽其他替代方案? 我看introspection里好像没提到这段... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.200.162
1F:推 yzugsr:没有 08/03 16:01
2F:→ xinu:thanks,所以python只能用指到struct指到头的方式罗? 08/03 17:07
3F:→ qrtt1:有什麽理由一定要那样写@@? 08/04 10:08
4F:推 ykjiang:就算是 C ,最好也不要这样写吧;既难看又不跨平台 08/04 13:25
5F:→ xinu:Linux里的list就是这样写的,没人说过Linux难看又不跨平台吧.. 08/04 19:46
6F:→ xinu:刚学Python,好奇在低阶语言里的东西Python有没有对应的技术.. 08/04 19:48
7F:推 ykjiang:我先收回不跨平台评语,但我真看不懂在写啥,确定没笔误? 08/04 23:20
8F:→ ykjiang:C 要 list 也没人会这样写吧... 08/04 23:21
9F:推 ibmibmibm:C在stddef.h有offsetof的macro 08/05 01:15
10F:推 qrtt1:python 就有 list 了, 需要自己搞一个吗@@? 08/05 08:29
11F:推 ykjiang:offsetof 会写在 stddef.h 就是因为各平台的写法不同 08/05 12:16
12F:→ yjc1:在C中这技巧很常见,尤其在 embedded 平台. 可以大幅简化程式 08/05 23:15
13F:→ yjc1:btw,python与C的哲学不同,用到这种设计通常表示出了问题, 08/05 23:18
14F:→ yjc1:一定有更好的设计或方法取代 08/05 23:19
15F:推 ykjiang:这行明显有误,怎没人提 ptr= ptr - ((struct A *)0)->a; 08/05 23:50
16F:→ ykjiang:有 offsetof 用,就乖乖用比较不会出错,也可避掉平台问题 08/05 23:52
17F:→ xinu:我想不用stddef.h的原因是因为Linux Kernel不用C lib的定义 08/06 23:04
18F:→ xinu:应该是ptr-(void *)..原list.h写的没那麽粗糙 08/06 23:12
19F:→ xinu:刚好看到Linux里的这段觉得很有趣, 想用刚学的Python作作看 08/06 23:16
20F:→ xinu:他这样写的好处应该是不需要Object之类的东西把大家串起来 08/06 23:18
21F:推 ykjiang:刚稍微看了这个 list.h ,果然是个精致的设计; 08/08 00:31
22F:→ ykjiang:代码高度可重用,空间效率也比经典的 C++ template 版本好 08/08 00:36
23F:→ ykjiang:不过这种用法在 Python 乃至 JAVA 上,都没多大意义 08/08 00:38
24F:→ ykjiang:因这类语言原本就可只写一套「演算法」来操作「各类资料」 08/08 00:47
25F:→ ykjiang:,且不会有 C/C++ macro 或 template 展开後变痴肥的问题 08/08 01:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP