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函数访问修辞符的资料请关注脚本之家其它相关文章!

相关文章

  • IntelliJ IDEA安装运行python插件方法

    IntelliJ IDEA安装运行python插件方法

    在本篇文章里我们给大家分享关于IntelliJ IDEA安装运行python插件方法,对此有需求的读者们可以跟着步骤学习下
    2018-12-12
  • Python+Tkinter实现RGB数值转换为16进制码

    Python+Tkinter实现RGB数值转换为16进制码

    这篇文章主要为大家详细介绍了Python如何利用Tkinter编写一个RGB数值转换为16进制码的小工具,文中的示例代讲解详细,感兴趣的小伙伴可以了解一下
    2023-01-01
  • python装饰器与递归算法详解

    python装饰器与递归算法详解

    本文给大家详细讲解了python中的装饰器与递归算法,有需要的小伙伴可以来参考下,希望对大家学习Python能够有所帮助
    2016-02-02
  • Python正则表达式匹配ip地址实例

    Python正则表达式匹配ip地址实例

    这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了re模块的用法,该实例非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • python基础之面对对象基础类和对象的概念

    python基础之面对对象基础类和对象的概念

    这篇文章主要介绍了python面对对象基础类和对象的概念,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    Django 权限认证(根据不同的用户,设置不同的显示和访问权限)

    这篇文章主要介绍了Django 权限认证(根据不同的用户,设置不同的显示和访问权限),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Pytest中conftest.py的用法

    Pytest中conftest.py的用法

    conftest.py文件到底该如何使用呢,下面我们就来详细了解一下conftest.py文件的特点和使用方法吧,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • python urllib库的使用详解

    python urllib库的使用详解

    这篇文章主要介绍了python urllib库的使用详解,帮助大家更好的利用python学习爬虫,感兴趣的朋友可以了解下
    2021-04-04
  • 如何通过python实现人脸识别验证

    如何通过python实现人脸识别验证

    这篇文章主要介绍了如何通过python实现人脸识别验证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python中的sorted函数使用解析

    Python中的sorted函数使用解析

    这篇文章主要介绍了Python中的sorted函数使用解析,sorted()函数可以对可迭代对象进行排序,并且可以人为指定排序的依据以及方式,本文提供了解决与部分实现代码,需要的朋友可以参考下
    2023-10-10

最新评论