谁借鉴谁??

谁借鉴谁??

python 的推导式

def squared(x):

    return x*x

print( [squared(i) for i in range(30) if i % 3 is 0] )

###output:  [0, 9, 36, 81, 144, 225, 324, 441, 576, 729]


Scala 的 ​if守卫  +  for推导式


 if守卫  +  for推导式 生成列表、集合等等   不就等于人家python一条语句???


这到底是谁借鉴(抄)谁,谁先有的语法??

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

语言之间也会存在一些互相学习,互相借鉴的地方,具体是谁先借鉴了谁,大概率是scala借鉴了python的语法,因为scala是2001年才开始出现,python出现的就很早了

  • py_builder 提问者 #1
    继续往下看发现,,Scala借鉴最多的不是java而是python,比如变量不需要(省略)声明类型,,不可变,可变集合,,tuple类型等等,,所以视频里面一直强调Java有点偏了,,应该一直强调python才对,scala就是在借鉴py,而不是java,所以整体语句少,简洁
    2020-10-31 11:31:40
  • 徐老师 回复 提问者 py_builder #2
    因为Scala是运行在Java虚拟机上,并兼容现有的 Java程序。Scala源代码也会被编译成 Java字节码,它可以直接运行于 JVM 之上,并可以调用现有的 Java 类库,Scala和Java的渊源比较深,所以在课程中在讲Scala的时候主要和Java做了对比。 如果对java中的Lambda表达式比较熟悉的话,会发现,scala的一些语法和java中的Lambda表达式也是很接近的。
    2020-10-31 11:36:58
  • 还有一点考虑是 针对咱们这门课程的用户群体,对java都是比较熟悉的,python的话可能只有一半同学会使用,所以很多时候都是和java对比,对比只是为了方便理解scala中的语法
    2020-10-31 11:38:34
洛奇2019 2021-05-23 12:06:27

你懂py,又不代表其他学员也懂py,杠这个有什么意思吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师