设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

零基础使用Swift学习数据科学(2)

发布时间:2019-11-11 16:37 所属栏目:21 来源:人工智能遇见磐创
导读:Swift提供了两个有用的选项来创建变量:let和var. let用来创建一个常量,这个常量的值在程序的任何地方都不能改变。var与我们在Python中看到的变量非常相似你可以在程序的任何时候更改存储在其中的值。 让我们看一个

Swift提供了两个有用的选项来创建变量:let和var. let用来创建一个"常量",这个常量的值在程序的任何地方都不能改变。var与我们在Python中看到的变量非常相似——你可以在程序的任何时候更改存储在其中的值。

让我们看一个例子来看看区别。创建两个变量a和b:

现在,尝试改变a和b的值:

  • 你会注意到,b能够不报错的更新其值,而a则给出一个错误:
零基础使用Swift学习数据科学

这种创建常量与变量的能力非常有用,可以帮助我们防止代码中出现看不见的bug。你将在本文中进一步看到,我们将使用let来创建存储重要信息并且不需要变更值的常量,

这里有一个技巧:使用var来创建你想使用一些中间计算的结果,因为这些中间计算结果需要改变。类似地,使用let来存储训练数据或者结果,这些数据基本上就是你不想更改或弄乱的值。

此外,Swift还有一个很酷的功能,你甚至可以使用表情符号作为变量名!

零基础使用Swift学习数据科学

这是因为Swift非常支持Unicode,所以我们可以用希腊字母来创建变量:

2.5 Swift的数据类型

Swift支持所有常见的数据类型,如整数、字符串、浮点数和双精度。我们可以赋值给任何变量,其类型会被Swift自动检测到:

你还可以在创建变量时显式地编写数据类型。这有助于防止程序中的错误,因为如果类型不匹配。Swift将抛出一个错误:

  • 可以做个小测验。创建一个显式类型为"Float"的值为4的常量,结果是会报错的。

有一种简单的方法可以将变量的值包含在字符串中,方法是将变量放在括号中,并在括号前写入反斜杠()。例如:

零基础使用Swift学习数据科学

可以对占用多行的字符串使用三个双引号(""")。

2.6 列表和字典

Swift支持列表和字典数据结构,就像Python一样(这又是一个比较!)这里与Python不同,我们不需要像字典的"{}"和列表的"[]"这样的单独语法。

让我们用Swift创建一个列表和字典:

  • 我们可以通过在"[]"括号内写入索引或者键来访问列表或字典的元素(类似于Python):

上面的代码将把"Jayne"和"Public Relations"的键值对添加到字典中。如果你打印以上的字典以下就是输出:

零基础使用Swift学习数据科学

2.7 使用循环

循环是任何编程语言最重要的特性之一,Swift不会让你失望。它不仅支持所有传统的循环机制(for、while等),而且还实现了它自己的一些变体。

for..in 循环

非常类似于Python,你可以使用在Swift中的list或者range使用for循环:

零基础使用Swift学习数据科学

第一个例子中的三个点表示Swift中的"range"。如果我们想做a到b范围内的事情,我们会使用a…b的语法。

类似地,如果我们想不要最后一个数字,我们可以把这三个点改成"..<"像"a.."。

这里需要注意的另一点是,与Python不同,Swift不使用缩进的概念,而是使用花括号"{}"来表示代码层次结构。

你可以在Swift中以类似的方式使用while和其他类型的循环。你可以这里了解更多关于循环的信息:https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html。

2.8 条件(if-else)

Swift支持条件语句,如if, if..else, if..else..if, 嵌套if甚至switch语句(Python不支持)。if语句的语法非常简单:

  • boolean_expression可以是任何比较,只有在比较结果或表达式的计算结果为true时,才会执行if块中编写的语句。你可以在这里阅读其他条件语句:https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html。

2.9 函数

Swift函数在语法上与Python中的函数非常相似。这里的主要区别是我们使用了func关键字而不是def,并且我们明确地提到了参数的数据类型和函数的返回类型。

一个基本的函数如下:

零基础使用Swift学习数据科学

和条件语句一样,我们使用花括号"{}"来表示属于这个函数的代码块。

2.10 用代码编写注释

编写注释是优秀代码最重要的方面之一。这适用于任何行业。这是你应该学习的最重要的编程技巧!

在你的代码里包含注释文本,作为对自己的注释或提醒。注释在编译时会被Swift忽略。

单行注释以两个斜杠(//)开头:

  • 多行注释以一个前斜杠和一个星号(/*)开始,以一个星号和一个前斜杠(*/)结束:
  • 现在你已经熟悉了Swift的基础知识,让我们来学习一个有趣的功能——在Swift中使用Python库!

3.在Swift中使用Python库

Swift支持与Python的互操作性。这意味着你可以从Swift导入有用的Python库,调用它们的函数,并在Swift和Python之间无缝地切换。

这给了Swift的数据科学生态系统不可思议的力量。这个生态系统还很年轻,还在发展中,你已经可以使用成熟的库,如Numpy、panda和Python的Matplotlib来填补现有Swift产品的空白。

为了在Swift中使用Python的模块,你可以直接导入Python并加载任何你想要使用的库!

这与你在Python中使用NumPy的方式非常相似,不是吗?你可以对其他包做同样的事情,如matplotlib:

零基础使用Swift学习数据科学

你已经学了不少关于Swift的东西。现在是时候构建你的第一个模型了!

4.使用TensorFlow建立Swift的基本模型

零基础使用Swift学习数据科学

Swift4Tensorflow是Swift开源生态系统中最成熟的库之一。我们可以使用一个非常简单的keras类语法很容易的建立机器学习和深度学习模型。

它变得更加有趣!Swift4Tensorflow不仅仅是对TensorFlow的快速包装,它还被开发为该语言本身的一个特性。人们普遍认为,在不久的将来,它将成为该语言的核心部分。

这意味着来自苹果公司的Swift团队和谷歌的Tensorflow团队的工程师将确保你能够在Swift中进行高性能的机器学习。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读