2005年09月06日 星期二 11:36
今天使用PYTHONWIN的IDEL使用时总出毛病 具体症状": 写WHILE循环时爱出一直循环,有时候还显示错误。 另外请教大家谁有PYTHONWIN的使用说明中文的,我英文成问题。 谢谢打家了。 -- ------------------------------------------------------------- 理想在火焰与-275度中徘徊,仍能想起的是那风吹过静谧的草原。
2005年09月06日 星期二 13:33
我用的时候它常常会死掉,不稳定 On Tue, 6 Sep 2005 11:36:16 +0800 su suyushi2004 <suyushi2004 at gmail.com> wrote: > 今天使用PYTHONWIN的IDEL使用时总出毛病 > 具体症状": > 写WHILE循环时爱出一直循环,有时候还显示错误。 > 另外请教大家谁有PYTHONWIN的使用说明中文的,我英文成问题。 > 谢谢打家了。 > > -- > ------------------------------------------------------------- > 理想在火焰与-275度中徘徊,仍能想起的是那风吹过静谧的草原。 -- jzx <jzx19770812 at yahoo.com.cn> __________________________________________________ Do You Yahoo!? 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com/?id=77071
2005年09月06日 星期二 14:53
建设用它写代码,执行还是在cmd下面。
2005年09月06日 星期二 15:09
PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). 举简例: def test(x,y): x=3 y=6 x=1 y=2 test(x,y) print "x ",x print "y ",y output: 1 2 要把test函数中x计算结果传回参数, 可在函数外得到计算结果. 觉得这是一个很基本的功能,这在多返回时犹为有用, 谢谢 #################################################### My webblog: http://logins.blogchina.com/ #################################################### ___________________________________________________________ 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com
2005年09月06日 星期二 16:56
在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > 觉得这是一个很基本的功能,这在多返回时犹为有用, > 谢谢 可以返回一个tuple,就有多个返回值了 test(x, y) x = 3 y = 4 return x, y
2005年09月06日 星期二 17:22
这是一种办法, 还有一种是把参数设为global: def add(): global a global b a=5 b=6 a=1 b=2 add() print "a ",a print "b ",b 但觉得这两种方法都不是我想要的, 第一种好一些,但所有这种应用场合都需要引入Tuple或List 第二种方法会使模块之间的耦合度变得太大。 我想Python应该有更好办法做这种Pass-By-Ref 下面是别人做的一个实现传reference的代码, Python中有更多方便的解决这一问题的方案吗? #passbyref.py # #Implementing pass by reference operations #in python. # #Example #python passbyref.py #>>>@passbyreference(sym.b) #...def func(a): #... a.set("hello") #>>> #>>>v = 5 #>>>func(1, sym.v, 3) #>>>print v #hello # import inspect class _symbol(object): def __getattribute__(self, name): return name sym = _symbol() class ref: def __init__(self, value): self.value = value def set(self, value): self.value = value def get(self): return self.value def __repl__(self): return "ref(%s)" % self.value def __str__(self): return self.value def passbyreference(*refparams): def getfunc(func): fc = func.func_code paramcount = fc.co_argcount paramnames = list(fc.co_varnames[:paramcount]) def pbr(*args, **aargs): callerLocals = inspect.currentframe(1).f_locals callerRefVars = [] argsMap = {} argsMap.update(dict(zip(paramnames[:len(args)], args))) argsMap.update(aargs) for paramName in refparams: varName = argsMap[paramName] varRef = ref(callerLocals[varName]) argsMap[paramName] = varRef callerRefVars.append((varName, varRef)) retval = func(**argsMap) for varName, varRef in callerRefVars: callerLocals[varName] = varRef.get() return retval return pbr return getfunc --- Jason Liu <telecomliu at gmail.com>写道: > 在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > > > PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > > 觉得这是一个很基本的功能,这在多返回时犹为有用, > > 谢谢 > > 可以返回一个tuple,就有多个返回值了 > test(x, y) > x = 3 > y = 4 > return x, y > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > #################################################### My webblog: http://logins.blogchina.com/ #################################################### ___________________________________________________________ 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com
2005年09月06日 星期二 17:28
> 在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > > PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > > 觉得这是一个很基本的功能,这在多返回时犹为有用, > > 谢谢 > > 可以返回一个tuple,就有多个返回值了 > test(x, y) > x = 3 > y = 4 > return x, y > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > python中除了值对象(如:int)是直接赋值外,其他对象变量都是引用赋值的 所以你可以很容易完成这个任务: x=1 y=1 def test(T): T[0] = 3 T[1] = 4 test( [x,y] ) -- If U can see it, then U can do it If U just believe it, there's nothing to it I believe U can fly From Jetport at gmail.com
2005年09月06日 星期二 17:29
不大明白你说的,你是不是想要x,y是全局变量?在c里面应该是可以用static静态变量来实现的。这样的话,你的输出结果就是3,6了,在python中我不清楚有没有这样的方法,但是你可以返回多个值的。 def test(): x=3 y=6 return x,y x,y=test() On 9/6/05, 刀波儿 <metallica_coo at yahoo.com.cn> wrote: > > PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > > 举简例: > > def test(x,y): > x=3 > y=6 > x=1 > y=2 > test(x,y) > print "x ",x > print "y ",y > > output: > 1 > 2 > > 要把test函数中x计算结果传回参数, > 可在函数外得到计算结果. > 觉得这是一个很基本的功能,这在多返回时犹为有用, > 谢谢 > > > #################################################### My webblog: > http://logins.blogchina.com/#################################################### > > > > > > > ___________________________________________________________ > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > http://cn.mail.yahoo.com > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- Yours, fluke fluke at sfcube.net http://sfcube.net/blog -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050906/b1d1cc70/attachment-0001.htm
2005年09月06日 星期二 17:29
这个代码的方法挺好的。
2005年09月06日 星期二 17:34
个人觉得这个问题上需要技术python中所有变量都是对象这个本质,还有更应该关 注对象有mutable和immutable之分。另外变量名只是一个对应到对象上的符号 binding。这个和C里面函数调用是先拷贝,在把参数压入堆栈的实现很不一样,所 以无法直接去比较。 例如: a = [1, 2, 3, 4] print id(a) def foo(b) print id(b) b[3]=5 print b 100669264 100669264 [1, 2, 3, 5] 可见函数外的a和函数内的b其实是同一个对象。这里用C函数来类比的话就是传入 了对list的引用,因为函数里面的操作改变了外部变量的值。 刀波儿 wrote: >PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > >举简例: > >def test(x,y): > x=3 > y=6 >x=1 >y=2 >test(x,y) >print "x ",x >print "y ",y > >output: > 1 > 2 > -- HONG Yuan 大管家网上建材超市 http://www.homemaster.cn
2005年09月06日 星期二 17:44
Jerry wrote: >>在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: >>>PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > > python中除了值对象(如:int)是直接赋值外,其他对象变量都是引用赋值的 > 所以你可以很容易完成这个任务: > > x=1 > y=1 > > def test(T): > T[0] = 3 > T[1] = 4 > > test( [x,y] ) Have you ever tried your code? -- Qiangning Hong http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn) Registered Linux User #396996 Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1> Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>
2005年09月06日 星期二 20:31
在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > 这是一种办法, > 还有一种是把参数设为global: > def add(): > global a > global b > a=5 > b=6 > a=1 > b=2 > add() > print "a ",a > print "b ",b > > 但觉得这两种方法都不是我想要的, > 第一种好一些,但所有这种应用场合都需要引入Tuple或List > 第二种方法会使模块之间的耦合度变得太大。 > 我想Python应该有更好办法做这种Pass-By-Ref > 我很少看到在python中使用类似引用的处理方法。最简单的是写一个空类,然后将实例传进去,想加什么属性都可以。使用起来也方便。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年09月06日 星期二 21:18
能否看一个相关的有指导意义的例子 期待中。。。 --- limodou <limodou at gmail.com>写道: > 在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > > 这是一种办法, > > 还有一种是把参数设为global: > > def add(): > > global a > > global b > > a=5 > > b=6 > > a=1 > > b=2 > > add() > > print "a ",a > > print "b ",b > > > > 但觉得这两种方法都不是我想要的, > > > 第一种好一些,但所有这种应用场合都需要引入Tuple或List > > 第二种方法会使模块之间的耦合度变得太大。 > > 我想Python应该有更好办法做这种Pass-By-Ref > > > > 我很少看到在python中使用类似引用的处理方法。最简单的是写一个空类,然后将实例传进去,想加什么属性都可以。使用起来也方便。 > > -- > 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 > #################################################### My webblog: http://logins.blogchina.com/ #################################################### ___________________________________________________________ 雅虎邮箱超强增值服务-2G超大空间、pop3收信、无限量邮件提醒 http://cn.mail.yahoo.com
2005年09月06日 星期二 21:34
刀波儿 wrote: > 能否看一个相关的有指导意义的例子 > 期待中。。。 Python FAQ里有 http://www.python.org/doc/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference -- Qiangning Hong http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn) Registered Linux User #396996 Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1> Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183>
2005年09月06日 星期二 21:47
seems wrong On 9/6/05, Qiangning Hong <hongqn at gmail.com> wrote: > > Jerry wrote: > >>在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > >>>PYTHON中如何实现象C中把函数中的值回传给参数(指针or引用). > > > > python中除了值对象(如:int)是直接赋值外,其他对象变量都是引用赋值的 > > 所以你可以很容易完成这个任务: > > > > x=1 > > y=1 > > > > def test(T): > > T[0] = 3 > > T[1] = 4 > > > > test( [x,y] ) > > Have you ever tried your code? > > -- > Qiangning Hong > http://www.hn.org/hongqn (RSS: http://feeds.feedburner.com/hongqn) > > Registered Linux User #396996 > Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1> > Thunderbird! <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183> > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- Yours, fluke fluke at sfcube.net http://sfcube.net/blog -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050906/f1e256fb/attachment.htm
2005年09月06日 星期二 21:53
比如: class DUMY_CLASS:pass obj = DUMY_CLASS() def p(obj): obj.a = 1 obj.b = [1,2] p(obj) print obj.a, obj.b 这种使用空类的方法在Python中非常多见,比如pickle模块。因为在Python中生成一个空类非常容易,又因为python的动态特性可以方便地给生成的实例增加属性,因此用它来处理非常方便。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年09月06日 星期二 22:05
看懂了,但是不是太明白这样做的目的和好处 继续修炼吧......!! --- limodou <limodou at gmail.com>写道: > 比如: > > class DUMY_CLASS:pass > > obj = DUMY_CLASS() > def p(obj): > obj.a = 1 > obj.b = [1,2] > > p(obj) > print obj.a, obj.b > > 这种使用空类的方法在Python中非常多见,比如pickle模块。因为在Python中生成一个空类非常容易,又因为python的动态特性可以方便地给生成的实例增加属性,因此用它来处理非常方便。 > > -- > 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 > #################################################### My webblog: http://logins.blogchina.com/ #################################################### ___________________________________________________________ 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com
2005年09月06日 星期二 22:07
非常好的资料,值得学习. 粗看了几个问题,都在点子上,推荐!! 谢! --- Qiangning Hong <hongqn at gmail.com>写道: > 刀波儿 wrote: > > 能否看一个相关的有指导意义的例子 > > 期待中。。。 > > Python FAQ里有 > http://www.python.org/doc/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference > > -- > Qiangning Hong > http://www.hn.org/hongqn (RSS: > http://feeds.feedburner.com/hongqn) > > Registered Linux User #396996 > Get Firefox! > <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1> > Thunderbird! > <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183> > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > #################################################### My webblog: http://logins.blogchina.com/ #################################################### ___________________________________________________________ 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com
2005年09月07日 星期三 10:20
长见识了 在 05-9-6,刀波儿<metallica_coo at yahoo.com.cn> 写道: > 非常好的资料,值得学习. > 粗看了几个问题,都在点子上,推荐!! > 谢! > > > > --- Qiangning Hong <hongqn at gmail.com>写道: > > > 刀波儿 wrote: > > > 能否看一个相关的有指导意义的例子 > > > 期待中。。。 > > > > Python FAQ里有 > > > http://www.python.org/doc/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference > > > > -- > > Qiangning Hong > > http://www.hn.org/hongqn (RSS: > > http://feeds.feedburner.com/hongqn) > > > > Registered Linux User #396996 > > Get Firefox! > > > <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=1> > > Thunderbird! > > > <http://www.spreadfirefox.com/?q=affiliates&id;=67907&t;=183> > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > #################################################### My webblog: http://logins.blogchina.com/ #################################################### > > > > > > > ___________________________________________________________ > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > http://cn.mail.yahoo.com > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2005年09月07日 星期三 12:24
直是很好的资料,太好。要好好的研究一下。 http://www.python.org/doc/faq/programming.html#id1 可以回答从其它语言过来的程序员们80%必定要问的问题。 建议整理成中文分享之。 太爽了。用python以来从来没有像今天这么爽过。
2005年09月08日 星期四 11:01
Python的对象分mutable和immutable的。如果是mutable的,那么对象的修改是就地完成的。如果是immutable的,对象修改的时候,其实上是创建了一个新的对象,因此当函数返回之后,老对象又回来了。 据我所知Python的immutable对象包括string, int, float。 要想做到C的传指针或引用的效果,直接把对象穿过去,然后在函数里修改对象就成了。倒是Python的instance type应该体动一个clone方法才是。 On 9/6/05, limodou <limodou at gmail.com> wrote: > 比如: > > class DUMY_CLASS:pass > > obj = DUMY_CLASS() > def p(obj): > obj.a = 1 > obj.b = [1,2] > > p(obj) > print obj.a, obj.b > > 这种使用空类的方法在Python中非常多见,比如pickle模块。因为在Python中生成一个空类非常容易,又因为python的动态特性可以方便地给生成的实例增加属性,因此用它来处理非常方便。 > > -- > 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 > > >
Zeuux © 2025
京ICP备05028076号