Python的类语法与哪种语言类似?

时间:2010-12-07 21:32:03

标签: .net python

我想在python中开始编程,我很想知道, Python语法中哪些语言类似?我熟悉.net。

4 个答案:

答案 0 :(得分:6)

没有,真的。 Python语法有点独特。

ie(取自:Python tutorial - classes

>>> class Complex:
...     def __init__(self, realpart, imagpart):
...         self.r = realpart
...         self.i = imagpart
...
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)

它受到了一种名为ABC的语言的启发,但现在学习Python比ABC更容易。

另请参阅:Python Wikipedia

答案 1 :(得分:4)

Python的抽象语法受C的启发,其具体的微语法也是如此。它的具体宏语法与C语言有很大不同,因为它使用缩进和删除来分隔块,类似于Haskell,F#,ISWIM和其他几个。

从语义上讲,Python可能更接近于带有对象的Modula-2,当然还有动态类型。

答案 2 :(得分:1)

我能想到的唯一一种今天看起来像Python的语言是Ruby,但Ruby实际上受Python的影响。除非你使用IronPython或IronRuby,否则它看起来并不像你在.NET中使用过的任何东西。

不要让那些气馁,Python非常容易学习,大多数语法(例如运算符)都不会让你感到困惑。

答案 3 :(得分:1)

这主要是它自己的事情。相对于大多数语言而言,最大的变化是indentaton非常重要。例如函数定义

def func():
    print "hello",
    print "world"

依赖于两个'print'语句的缩进来定义函数的边界。所有块都以这种方式指定 - 如果语句等等。

就类来说,它们非常像你期望的那样 - 除了指向当前对象的指针显式为函数的第一个参数

class myclass:
    def classassign(self, string):
        self.mystr=string
    def classprint(self):
        print self.mystr

obj=myclass()
obj.classassign("class var")
obj.classprint()

打印

  

class var

就个人而言,Python与我所知道的任何其他语言都不太相似 - 这就是为什么它很有趣。如果那个简单的课看起来像你熟悉的东西,你去吧。但我推荐一本关于Python的好书,因为“Pythonic”的做事方式可能与你期望的非常不同