根据tutorialspoint.com,Python是一种函数式编程语言。 “一些流行的函数式编程语言包括:Lisp、Python、Erlang、Haskell、Clojure 等。”
https://www.tutorialspoint.com/featured_programming/functional_programming_introduction.htm
但其他消息来源称 Python 是一种面向对象的编程语言(您可以在 Python 中创建对象)。
那么Python两者都是吗? 如果是这样,如果您尝试编写需要大量数学计算的程序,Python 仍然是一个不错的选择(因为函数式语言具有并发性、更好的数学语法和更高级别的函数)?
Python 与许多其他语言一样,是一种多范式语言。您可以将其用作相当严格的命令式语言,可以以更面向对象的方式使用它,也可以以更函数式的方式使用它。但需要注意的一件重要事情是,功能性通常与命令式形成对比,面向对象往往存在于不同的级别,并且可以“分层”在更命令性或更功能性的核心之上。
然而,Python 在很大程度上是一种命令式和面向对象的语言:许多内置函数和标准库实际上都是围绕类和对象构建的,并且它不鼓励函数式语言通常驱使用户进行的那种思考。
事实上,浏览您链接到的文章提供的(相当糟糕的)列表,Python 或多或少都属于 OOP 方面:
话又说回来,这篇文章的大部分内容都是废话。如果这是该网站的典型情况,我建议使用其他网站。
如果是这样,如果你想编写一些非常数学和计算性的东西,Python仍然是一个不错的选择
Python 本身是一种相当慢的语言,但同时它拥有一个非常庞大且强大的科学库生态系统。它可能不是抽象数学的主要语言(它在符号操作方面相当糟糕),但它往往是一种相对较好的粘合剂或原型设计工具。
因为函数式语言更适合数学的东西
不一定。但如果不知道“数学东西”的真正含义,就很难判断。你的意思是符号操作吗?统计数据?困难的计算?完全是别的东西吗?
Python 是两者兼而有之。它可以充当面向函数和面向对象的编程语言。
面向功能的示例:
def fname():
#some block of code
`fname()`
OOPS 示例:
class Item:
name
id
price
purchase():
#some code
item = Item()
item.name = "Shirts"
理解这一点非常重要。感谢您的提问并帮助更多的人学习!