首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >作为一个学习Python的Java程序员,我应该注意什么?

作为一个学习Python的Java程序员,我应该注意什么?
EN

Stack Overflow用户
提问于 2010-02-26 03:48:47
回答 6查看 14.9K关注 0票数 63

我的大部分编程背景都是用Java编写的,而且我仍然在用Java进行大部分编程。但是,我已经开始为一些工作中的附带项目学习Python,我希望尽可能地独立于我的Java背景来学习它--也就是说,我不想仅仅用Python编写Java程序。我该注意什么?

一个快速的例子--在查看Python教程时,我发现一个函数的默认可变参数(例如list)是持久化的(从调用到调用都会记住)。作为一个Java程序员,这违反了我的直觉,也很难让我头脑清醒。(如果您不了解示例,请参阅这里这里。)

有人还向我提供了列表,我觉得这很有帮助,但很短。有谁有其他例子说明Java程序员可能会误用Python.?或者是Java程序员会错误地假设或有困难理解的东西?

编辑:好的,简要概述我为防止答案重复而链接的文章中提到的原因(如蜥蜴比尔的建议)。(请告诉我,如果我在措辞上出错了,我只是刚刚开始使用Python,所以我可能不完全理解所有的概念。还有一个免责声明--这将是非常简短的,所以如果你不明白它得到了什么,请查看链接。)

  • Java中的静态方法不会转换为Python类方法
  • Java中的switch语句转换为Python中的哈希表
  • 不要使用XML
  • Getter和setter是邪恶的(嘿,我只是引用:)
  • 在Java (例如方法重载)中,代码复制常常是一个必要的缺点,但在Python中却不是

(如果你觉得这个问题很有趣,那就看看这个链接吧。()相当不错。)

EN

Stack Overflow用户

回答已采纳

发布于 2010-02-26 04:00:26

  • 不要把所有的东西都放到类中。Python的内置列表和字典将带您走得更远。
  • 不用担心在每个模块中保留一个类。按目的划分模块,而不是按类划分模块。
  • 将继承用于行为,而不是接口。不要为"Dog“和"Cat”创建要继承的“动物”类,这样您就可以拥有一个通用的"make_sound“方法。

就这么做吧:

代码语言:javascript
复制
class Dog(object):
    def make_sound(self):
        return "woof!"

class Cat(object):
    def make_sound(self):
        return "meow!"

class LolCat(object):
    def make_sound(self):
        return "i can has cheezburger?"
票数 25
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2339371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档