python Scala函数与访问修辞符实例详解

 更新时间:2022年08月03日 11:56:17   作者:锐玩道  
这篇文章主要为大家介绍了python Scala函数与访问修辞符实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

常规函数

object Demo {
   def main(args: Array[String]) {
      println( "Returned Value : " + addInt(5,7) );     // 普通调用
      println( "Returned Value : " + addInt(a=5,b=7) ); // 指定参数调用
   }
   // 方法 默认参数 b = 7
   def addInt( a:Int, b:Int = 7 ) : Int = {
      var sum:Int = 0
      sum = a + b
      return sum
   }
}

可变参数函数

object Demo {
   def main(args: Array[String]) {
      printStrings("Hello", "Scala", "Python"); // 可变参数
   }
   def printStrings( args:String* ) = {
      var i : Int = 0;
      for( arg <- args ){
         println("Arg value[" + i + "] = " + arg );
         i = i + 1;
      }
   }
}

使用名字调用函数

apply()函数接受另一个函数f和值v,并将函数f应用于v。

object Demo {
   def main(args: Array[String]) {
      println( apply( layout, 10) )
   }
   def apply(f: Int => String, v: Int) = f(v)
   def layout[A](x: A) = "[" + x.toString() + "]"
}
// $ scalac Demo.scala
// $ scala Demo

匿名函数

Scala支持一级函数,函数可以用函数文字语法表达,即(x:Int)=> x + 1,该函数可以由一个叫作函数值的对象来表示。 尝试以下表达式,它为整数创建一个后继函数 -

var inc = (x:Int) => x+1

变量inc现在是一种可以像函数那样使用的函数 - var x = inc(7)-1

还可以如下定义具有多个参数的函数:

var mul = (x: Int, y: Int) => x*y

变量mul现在是可以像函数那样使用的函数 - println(mul(3, 4))

也可以定义不带参数的函数,如下所示:

var userDir = () => { System.getProperty("user.dir") }

变量userDir现在是可以像函数那样使用的函数 - println( userDir )

访问修饰符

class Outer {
   class Inner {
      private def f1() { println("f") }
      protected def f2() { println("f") }
      def f3() { println("f") }
      # 保护作用域Scala中的访问修饰符可以通过限定符进行扩充。形式为private [X]或protected [X]的修饰符表示为访问是私有或受保护的“最多”到X,其中X指定一些封闭的包,类或单例对象。
      private[professional] var workDetails = null
      private[society] var friends = null
      private[this] var secrets = null
      class InnerMost {
         f() // OK
      }
   }
   (new Inner).f() // Error: f is not accessible
}

以上就是python Scala函数与访问修辞符实例详解的详细内容,更多关于python Scala函数访问修辞符的资料请关注脚本之家其它相关文章!

相关文章

  • Python 炫技操作之合并字典的七种方法

    Python 炫技操作之合并字典的七种方法

    这篇文章主要介绍了Python 炫技操作之合并字典的七种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】

    Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】

    这篇文章主要介绍了Python3实现爬虫爬取赶集网列表功能,结合实例形式分析了Python3基于request和BeautifulSoup模块的网站页面爬取相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Pycharm配置opencv与numpy的实现

    Pycharm配置opencv与numpy的实现

    本文总结了两种方法来导入opencv与numpy包,第一种是直接在Pycharm中导入两个包,第二种是在官网下载相关文件进行配置,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • python抽象基类用法实例分析

    python抽象基类用法实例分析

    这篇文章主要介绍了python抽象基类用法,实例分析了Python抽象基类的使用方法与相关注意事项,需要的朋友可以参考下
    2015-06-06
  • python中ConfigParse模块的用法

    python中ConfigParse模块的用法

    这篇文章主要介绍了python中ConfigParse模块的用法,以实例形式讲述了配置文件模块ConfigParse的使用步骤,非常具有实用价值,需要的朋友可以参考下
    2014-09-09
  • Python自定义sorted排序实现方法详解

    Python自定义sorted排序实现方法详解

    这篇文章主要介绍了Python自定义sorted排序实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python 运算符Inplace 与Standard 

    Python 运算符Inplace 与Standard 

    这篇文章主要介绍了Python 运算符Inplace 与Standard,nplace运算符的行为类似于普通运算符,只是它们在可变和不可变目标的情况下以不同的方式运行
    2022-09-09
  • Python实现图像去噪方式(中值去噪和均值去噪)

    Python实现图像去噪方式(中值去噪和均值去噪)

    今天小编就为大家分享一篇Python实现图像去噪方式(中值去噪和均值去噪),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • pytorch构建多模型实例

    pytorch构建多模型实例

    今天小编就为大家分享一篇pytorch构建多模型实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Pytorch中关于inplace的操作

    Pytorch中关于inplace的操作

    这篇文章主要介绍了Pytorch中关于inplace的操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论