2005年09月19日 星期一 17:58
例如以下程序 --------------------------------------------------------- class MyClass: "A simple example class" i = 12345 def f(self): return 'hello world' --------------------------------------------------------- print MyClass.i #打印出'12345' print MyClass.f #得到什么? 对于MyClass.f, 编译器返回,为什么? -- Protoss Jiang mailto: jsonic1106 at gmail.com
2005年09月19日 星期一 18:12
表示这个方法还没有绑定到一个对象实例上 要看一个类有什么方法,可以 dir >>> dir(MyClass) ['__doc__', '__module__', 'f', 'i'] >>> On 9/19/05, Protoss Jiang <jsonic1106 at gmail.com> wrote: > > 例如以下程序 > --------------------------------------------------------- > class MyClass: > "A simple example class" > i = 12345 > def f(self): > return 'hello world' > --------------------------------------------------------- > > print MyClass.i #打印出'12345' > print MyClass.f #得到什么? > > 对于MyClass.f, 编译器返回 ,为什么? > > -- > Protoss Jiang > mailto: jsonic1106 at gmail.com > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050919/8db26989/attachment.htm
2005年09月19日 星期一 20:52
在 05-9-19,Protoss Jiang<jsonic1106 at gmail.com> 写道: > 例如以下程序 > --------------------------------------------------------- > class MyClass: > "A simple example class" > i = 12345 > def f(self): > return 'hello world' > --------------------------------------------------------- > > print MyClass.i #打印出'12345' > print MyClass.f #得到什么? > > 对于MyClass.f, 编译器返回,为什么? > 一个类的方法一般是不可以直接调用的,但有两种调用方法,静态方法和类方法。而对于一般的类方法需要绑定一个实例对象。这个实例对象就是方法的第一个参数。因为上面的方法是一个一般方法,因此它需要与一个实例对象进行绑定。而直接MyClass.f这种用法是没有与实例对象进行绑定的,因此它会显示出unbound method 这样的信息。 关于绑定与未绑定可以再找一些参数资料查一查。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年09月20日 星期二 09:16
谢谢指点 在 05-9-19,limodou<limodou at gmail.com> 写道: > 在 05-9-19,Protoss Jiang<jsonic1106 at gmail.com> 写道: > > 例如以下程序 > > --------------------------------------------------------- > > class MyClass: > > "A simple example class" > > i = 12345 > > def f(self): > > return 'hello world' > > --------------------------------------------------------- > > > > print MyClass.i #打印出'12345' > > print MyClass.f #得到什么? > > > > 对于MyClass.f, 编译器返回,为什么? > > > > 一个类的方法一般是不可以直接调用的,但有两种调用方法,静态方法和类方法。而对于一般的类方法需要绑定一个实例对象。这个实例对象就是方法的第一个参数。因为上面的方法是一个一般方法,因此它需要与一个实例对象进行绑定。而直接MyClass.f这种用法是没有与实例对象进行绑定的,因此它会显示出unbound > method 这样的信息。 > > 关于绑定与未绑定可以再找一些参数资料查一查。 > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- Protoss Jiang mailto: jsonic1106 at gmail.com
2005年09月20日 星期二 10:32
你试试 print MyClass.f() On Mon, 19 Sep 2005 17:58:46 +0800 Protoss Jiang <jsonic1106 at gmail.com> wrote: > 例如以下程序 > --------------------------------------------------------- > class MyClass: > "A simple example class" > i = 12345 > def f(self): > return 'hello world' > --------------------------------------------------------- > > print MyClass.i #打印出'12345' > print MyClass.f #得到什么? > > 对于MyClass.f, 编译器返回,为什么? > > -- > Protoss Jiang > mailto: jsonic1106 at gmail.com -- jzx <jzx19770812 at yahoo.com.cn> __________________________________________________ Do You Yahoo!? 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com/?id=77071
2005年09月20日 星期二 10:40
http://wiki.woodpecker.org.cn/moin/PyProgFaq 中有讲到静态方法的,你可以看看 在05-9-20,jzx++ <jzx19770812 at yahoo.com.cn> 写道: > > 你试试 > print MyClass.f() > > On Mon, 19 Sep 2005 17:58:46 +0800 > Protoss Jiang <jsonic1106 at gmail.com> wrote: > > > 例如以下程序 > > --------------------------------------------------------- > > class MyClass: > > "A simple example class" > > i = 12345 > > def f(self): > > return 'hello world' > > --------------------------------------------------------- > > > > print MyClass.i #打印出'12345' > > print MyClass.f #得到什么? > > > > 对于MyClass.f, 编译器返回,为什么? > > > > -- > > Protoss Jiang > > mailto: jsonic1106 at gmail.com > > -- > jzx <jzx19770812 at yahoo.com.cn> > > __________________________________________________ > Do You Yahoo!? > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > http://cn.mail.yahoo.com/?id=77071 > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050920/9e1a8a14/attachment-0001.htm
2005年09月20日 星期二 12:03
感谢大家,我的程序有很多问题,之前都没认真想过,现在正在头疼. 在 05-9-20,刘国栋<liuguodong at gmail.com> 写道: > http://wiki.woodpecker.org.cn/moin/PyProgFaq > 中有讲到静态方法的,你可以看看 > > > 在05-9-20,jzx++ <jzx19770812 at yahoo.com.cn> 写道: > > > > 你试试 > > print MyClass.f() > > > > On Mon, 19 Sep 2005 17:58:46 +0800 > > Protoss Jiang < jsonic1106 at gmail.com> wrote: > > > > > 例如以下程序 > > > > --------------------------------------------------------- > > > class MyClass: > > > "A simple example class" > > > i = 12345 > > > def f(self): > > > return 'hello world' > > > > --------------------------------------------------------- > > > > > > print MyClass.i #打印出'12345' > > > print MyClass.f #得到什么? > > > > > > 对于MyClass.f, 编译器返回,为什么? > > > > > > -- > > > Protoss Jiang > > > mailto: jsonic1106 at gmail.com > > > > -- > > jzx <jzx19770812 at yahoo.com.cn > > > > > __________________________________________________ > > Do You Yahoo!? > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > http://cn.mail.yahoo.com/?id=77071 > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- Protoss Jiang mailto: jsonic1106 at gmail.com
Zeuux © 2025
京ICP备05028076号