class _Engine(object):
def __init__(self, connect):
self._connect = connect
def connect(self):
return self._connect()
请问 self的_connect()
方法是哪里来的
是不是继承自obejct的
三日成晶(116884230) 21:17:47

,你不是自己定义了么?
史文远(958186957) 21:26:09
_connect() 这个方法 我没有定义啊
票贩子(173300430) 21:26:20
三日成晶(116884230) 21:26:20
self._connect = connect
票贩子(173300430) 21:26:25
基本功啊基本功。
三日成晶(116884230) 21:26:29
这不就是
史文远(958186957) 21:27:27
self._connect 这个是属性 不是方法啊
三日成晶(116884230) 21:27:41
...
票贩子(173300430) 21:27:51
……
三日成晶(116884230) 21:27:53
少年
PreZident(43886887) 21:27:58
基本功啊基本功
。
票贩子(173300430) 21:28:11
骚年……
数学里面等量代换
多换两次就晕了?
史文远(958186957) 21:28:39
我看了 廖雪峰的官方网站 里的web 实站 这一句看不懂
票贩子(173300430) 21:28:59
这算拜师么?
冒. 。o 〇泡(691515082) 21:29:09
属性和方法有区别?
三日成晶(116884230) 21:29:37
一切皆对象,属性和函数是没有区别的
冒. 。o 〇泡(691515082) 21:30:11
方法只是个能call的属性而已
三日成晶(116884230) 21:30:15

史文远(958186957) 21:30:28
是有的 反正 print self._connect() 和打印 print self._connect 值不一样
三日成晶(116884230) 21:30:44
....
冒. 。o 〇泡(691515082) 21:30:46
。。
三日成晶(116884230) 21:30:49
骚年
一样才有鬼了
冒. 。o 〇泡(691515082) 21:31:03
你这俩打印的就不是一个东西
史文远(958186957) 21:31:31
我都弄晕了
三日成晶(116884230) 21:31:37
昨天问print None的是不是你
史文远(958186957) 21:32:29
不是 我感觉应该把 def connect(self):
return self._connect() 改成 def connect(self):
return self._connect.connect() 才对
三日成晶(116884230) 21:32:43
....
骚年
票贩子(173300430) 21:32:50

行了。
这个问题停止吧。
史文远(958186957) 21:33:05
为什么 ?
票贩子(173300430) 21:33:17
你能达到效果就好了么。
你不有答案了么……
冒. 。o 〇泡(691515082) 21:33:36
去补基础吧
史文远(958186957) 21:33:40
如果 不能理解的话 下次 自
己写代码 会出错的
票贩子(173300430) 21:34:07
你这个理解在目前的基础上有困难。
史文远(958186957) 21:34:33
兄弟 推荐一个网址 让我 学习学习
冒. 。o 〇泡(691515082) 21:37:06
你觉得a.b()这句是干什么
三日成晶(116884230) 21:37:12
史文龙啊,你是从哪个语言过来的?
史文远(958186957) 21:37:19
php
a调用 a对象上的方法
冒. 。o 〇泡(691515082) 21:37:55
错
三日成晶(116884230) 21:38:01
换一种语言,换一个心态
冒. 。o 〇泡(691515082) 21:38:10
这句是说,先找到a对象的b属性,然后调用它
a.b懂不
(a.b)()
票贩子(173300430) 21:38:44
php上oo用得少。
史文远(958186957) 21:39:07
是的
这句话 看不懂
三日成晶(116884230) 21:40:07
冒. 。o 〇泡(691515082) 21:40:33
史文远(958186957) 21:40:50
能不能 发代码 不截图
冒. 。o 〇泡(691515082) 21:40:51
是这样算的
史文远(958186957) 21:41:04
我复制下代码 运行一下看效果 更好理解
三日成晶(116884230) 21:42:14
class testcls:
def __init__(self, testfunc):
self.test = testfunc
def testfunc():
print 'testfunc'
if __name__ == "__main__":
a = testcls(testfunc)
a.test()
print id(a.test)
print id(testfunc)史文远(958186957) 21:42:33
谢谢 啦 我zhuo mo zhuo mo
票贩子(173300430) 21:42:38
php也有这玩法。
史文远(958186957) 21:43:14
php 好像参数里 是不能传方法的
冒. 。o 〇泡(691515082) 21:44:32
票贩子(173300430) 21:44:55
可以的。
三日成晶(116884230) 21:45:45
self.test是成员,他被赋一个testfunc的值
testfunc是一个函数对象,callalbe,就可以test(),不行就会出错
史文远(958186957) 21:48:44
哦
三日成晶(116884230) 21:50:16
>>>print type(a.test)
<type 'function'>
Sparks(312790696) 21:55:10
跟php里的callback一个意思,
数据类型转换
Python内置的常用函数还包括数据类型转换函数,比如int()
函数可以把其他数据类型转换为整数:
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> unicode(100)
u'100'
>>> bool(1)
True
>>> bool('')
False
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:
>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1
测试了一下 似乎有点理解了