Python论坛  - 讨论区

标题:[python-chinese] [python-cn:24085] Re: 有没有人发现python的一个缺点。

2007年03月15日 星期四 00:09

Brightman mr.brightman在gmail.com
星期四 三月 15 00:09:17 HKT 2007

你的Duck Typing是什么意思?动态语言好在何处?就少敲几个字?

yi huang 写道:
>
>     那就是在函数定义时,参数没有显式的类型信息。这样函数就难于让
>     人理解。
>     def and(x,y):
>        return x+y
>     使用这个函数的人就不知道该输入什么类型的参数了。
>     而在c等语言中
>     int and(int x,int y)
>     {
>        return x+y;
>     }
>     这样我们可以很容易明白这个函数该如何使用。
>
>
> 这既是缺点也是优点,其实它就是动态语言的特点。
> 而 python 中你还可以进行可选的类型检查!
> 你可以看下我的两篇blog: do it runtime 
> <http://codeplayer.blogspot.com/2007/01/do-it-runtime.html>, 
> Introducing Duck Typing 
> <http://codeplayer.blogspot.com/2007/02/introducing-duck-typing.html> 
> (又做了一回广告;-)
>
>
>
> -- 
> http://codeplayer.blogspot.com/
> --~--~---------~--~----~------------~-------~--~----~
> '''邮件来自Groups "python.cn" group.
> 发言: python-cn在googlegroups.com
> 退订: python-cn-unsubscribe在googlegroups.com
> 详情: http://groups-beta.google.com/group/python-cn?hl=zh-CN
> 维基: http://wiki.woodpecker.org.cn/moin/CPUG
> '''
> -~----------~----~----~----~------~----~------~--~---
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月15日 星期四 08:59

limodou limodou在gmail.com
星期四 三月 15 08:59:05 HKT 2007

On 3/15/07, Brightman <mr.brightman在gmail.com> wrote:
> 你的Duck Typing是什么意思?动态语言好在何处?就少敲几个字?

大大多数情况下,使用约定的方式就可以知道它的类型,虽然没有明确的定义。我想没有类型定义有它的好处,比如天生的泛型。非常灵活。当然对于团队开发可能会有些问题,不过正象我前面说的可以有文档,注释,测试在里面,这些方法是对静态还是动态都有效的方法。当然你可能还是体会不到动态语言的好处。我的体会是,我已经习惯了,我甚至希望大家都用python来写程序,虽然是不可能的。但正好说明,接不接受它在于你自已思想的转变,需要你自已的体会。再多的解释说明,你体会不到,用不上,你也不会去接受它。

所以我的建议是,先不要问有什么好处,先用一段时间再说。我们这里许多人学python并不是因为在学习前找到了许多python好处的理由才开始学习的,许多人在开始的时间就是报着学一学,看一看的态度,时间长了自然会有自已的体会。学一学反正也没有什么坏处。而且真正能够学习的还是看自已,就算是举出天大的理由,你不认同也是没有办法。就是认同,你不学习也是没有办法。个中的妙处就如饮水一般,冷暖自知。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月15日 星期四 09:35

ro rosettas在gmail.com
星期四 三月 15 09:35:20 HKT 2007

On 3/15/07, Brightman <mr.brightman在gmail.com> wrote:
> 你的Duck Typing是什么意思?动态语言好在何处?就少敲几个字?

我同时使用c++和python.
我的看法是,为了提供接口的简洁.在使用c++的时候也经常会遇到需要自己构造一个动态类型的类的时候.
对于需要复杂类型数据的时候,使用动态类型类接口是一种很好的风格.比如重载=让无论是char *还是int都可以赋值.

当然,总体来说还是c++好.既有强制类型也提供了方便的自己构造动态类型类的方法.足够灵活.

-- 
with kind regards

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月15日 星期四 09:53

py py.7在163.com
星期四 三月 15 09:53:11 HKT 2007

各位!

    关于用python发邮件代码如下:
import smtplib
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
import email
import time
import datetime
femail='from在from.com'
temail ='to在to.com'
ccmail= 'cc在cc.com'
msg=MIMEMultipart()

msg['From'] = femail
msg['To'] = temail
msg['Cc'] = ccmail
a="ttt"
msg['Subject'] = a
msg['Reply-To'] = femail
msg['Date'] = time.ctime(time.time())

msg['X-Priority'] =  '''3'''
msg['X-MSMail-Priority'] =  '''Normal'''
msg['X-Mailer'] =  '''Foxmail 5.0 [cn]'''

body=email.MIMEText.MIMEText('''test''',_subtype='text/plain',_charset='gb2312')
msg.attach(body)
s = smtplib.SMTP('from.com')
s.login('user','password')
s.sendmail(femail,temail,msg.as_string())
s.close()

用163等邮箱发是正常的,但使用一些企业邮箱发的时候会报错如下:

Traceback (most recent call last):
  File "E:\1\test.py", line 31, in ?
    s.login('user','password')
  File "D:\Python24\lib\smtplib.py", line 587, in login
    raise SMTPAuthenticationError(code, resp)
SMTPAuthenticationError: (535, 'CoremailSys:Error: authentication failed')


SMTP地址、帐号、密码正确的和在foxmail里设置的都是相同的,用foxmail就能发出去信,用上面的代码就发不出去,请问这是为什么呢,请各位指教如何解决?


另外用
postdata=urllib.urlencode({'user':'user','pass':'password'})
login_response= urllib2.urlopen('', postdata)


        致
礼!
 
				 
        李李
        py.7在163.com
          2007-03-15


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月15日 星期四 11:42

Gavin gavin在sz.net.cn
星期四 三月 15 11:42:30 HKT 2007

想搞邮件邮件群发软件?

----- Original Message ----- 
发件人: "py" <py.7在163.com>
收件人: <python-chinese在lists.python.cn>
发送时间: 2007年3月15日 9:53
主题: [python-chinese] [python发邮件]关于python发邮件的灵异事件


各位!

    关于用python发邮件代码如下:
import smtplib
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
import email
import time
import datetime
femail='from在from.com'
temail ='to在to.com'
ccmail= 'cc在cc.com'
msg=MIMEMultipart()

msg['From'] = femail
msg['To'] = temail
msg['Cc'] = ccmail
a="ttt"
msg['Subject'] = a
msg['Reply-To'] = femail
msg['Date'] = time.ctime(time.time())

msg['X-Priority'] =  '''3'''
msg['X-MSMail-Priority'] =  '''Normal'''
msg['X-Mailer'] =  '''Foxmail 5.0 [cn]'''

body=email.MIMEText.MIMEText('''test''',_subtype='text/plain',_charset='gb2312')
msg.attach(body)
s = smtplib.SMTP('from.com')
s.login('user','password')
s.sendmail(femail,temail,msg.as_string())
s.close()

用163等邮箱发是正常的,但使用一些企业邮箱发的时候会报错如下:

Traceback (most recent call last):
  File "E:\1\test.py", line 31, in ?
    s.login('user','password')
  File "D:\Python24\lib\smtplib.py", line 587, in login
    raise SMTPAuthenticationError(code, resp)
SMTPAuthenticationError: (535, 'CoremailSys:Error: authentication failed')


SMTP地址、帐号、密码正确的和在foxmail里设置的都是相同的,用foxmail就能发出去信,用上面的代码就发不出去,请问这是为什么呢,请各位指教如何解决?


另外用
postdata=urllib.urlencode({'user':'user','pass':'password'})
login_response= urllib2.urlopen('', postdata)


        致
礼!
 

        李李
        py.7在163.com
          2007-03-15

_______________________________________________
python-chinese
Post: send python-chinese在lists.python.cn
Subscribe: send subscribe to python-chinese-request在lists.python.cn
Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号