对比python学julia(第一章)--(第二节)似曾相识燕归来
Julia和python一样,都是跨平台开源语言,而且都是动态语言,所以毫无疑问,需要运行时支撑。很简单,到官网去下载julia(https://julialang.org/downloads/)。和python一样,有多个操作系统版本,这里我们下载julia-1.7.1-win64版本。安装很简单,不多说。要注意的是把Add Julia to PATH打上勾,不然后面要手动去环境变量里面加。看下图,就明白了:

安装完后,windows桌面上会生成julia的快捷方式图标,双击图标,据会打开jula自带的基于shell的开发环境,这点和python也极为相似。Python的shell开发环境叫IDLE(Integrated Development and Learning Environment),直译过来的意思就是集成开发与学习环境。而julia的shell开发环境叫REPL(Read Eval Print Loop),意思就是“读取”-“运算”-“打印/输出”—“循环”,然后你们看到的就是这个样子的:
|
|
只不过,python的IDLE功能要多一些。其实两者都差不多,都是类似于一种聊天方式的编程模式。专业点的说法,就是书写和运行代码段。
好了,我们安装完了,来看看永远的“hello world”怎么写。Python是这样的:

而julia是这样的:

学过java的同学应该对println不陌生,就是输出结果并换一行。
工欲善其事必先利其器。如果仅仅依靠REPL环境写代码,颇有点捉襟见肘,我们需要配置一个高级点的开发环境。Julia官网推荐了以下工具:

Julia 团队,曾经力推基于 Atom 的 Juno IDE,但目前已表示弃坑,全面投奔 VSCode。我们知道,vscode是通过插件来兼容多语言编程的,所以,julia也不例外。当然也很简单,打开vscode,去扩展商店里面搜索“julia”和“Julia Formatter”扩展,安装就行。然后去设置里面根据需求进行参数配置,也可以直接在setting.json里面手写配置。

手写大致如下:
{
"julia.deleteJuliaCovFiles": true,
"julia.completionmode": "qualify",
"julia.editor": "code",
"julia.enableCrashReporter": false,
"julia.enableTelemetry": false,
"julia.execution.codeInREPL": true,
"julia.execution.resultType": "both",
"julia.focusPlotNavigator": true,
"julia.lint.missingrefs": "symbols",
"julia.symbolCacheDownload": false,
"juliaFormatter.alignConditional": true,
"juliaFormatter.alignPairArrow": true,
"juliaFormatter.alignStructField": true,
"juliaFormatter.removeExtraNewlines": true
}
好了,下面我们正式开始依葫芦画瓢对比python学julia编程了。我们会以一个个有趣的Python程序实例,转换为julia程序,并对其中涉及到的julia基础知识进行讲解。
对比python学julia(第一章)--(第二节)似曾相识燕归来的更多相关文章
- tensorflow2.0学习笔记第一章第二节
1.2常用函数 本节目标:掌握在建立和操作神经网络过程中常用的函数 # 常用函数 import tensorflow as tf import numpy as np # 强制Tensor的数据类型转 ...
- ASP.NET自定义控件组件开发 第一章 第二篇 接着待续
原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...
- Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于 ...
- 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数 #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...
- 路飞学城-Python爬虫集训-第一章
自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...
- python全栈第一章
第一章 Python基础变量定义规则:1.变量名只能是字母数字或者下划线的任意组合2.变量名的第一个字符不能是数字3.关键字不能申明为变量名定义方式:1.驼峰体AgeOfSzp2.下划线隔开Age_o ...
- CSS3秘笈复习:第一章&第二章&第三章
第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...
- Practical Vim 第一章 & 第二章
第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...
- Linux第一章第二章学习笔记
第一章 Linux内核简介 1.1 Unix的历史 它是现存操作系统中最强大最优秀的系统. 设计简洁,在发布时提供原代码. 所有东西都被当做文件对待. Unix的内核和其他相关软件是用C语言编写而成的 ...
- Linux内核设计与实现 第一章 第二章
第一章 Linux内核简介 Unix特点: (1) Unix很简洁,仅仅提供几个几百个系统调用并且有一个非常明确的设计目的 (2) 在Unix中,所有的东西都被当作文件对待,通过一套相 ...
随机推荐
- fabric compose文件解读(Orderer篇)
orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至都 ...
- STM32 USB CDC调试记录
STM32 USB CDC调试 一.前言 最近在做STM32的IAP方案,官方提供的demo是基于USART实现,但是使用USART的话要和电脑通信要么借助USB转TTL工具:要么在板子上加一颗CH3 ...
- OpenWrt安装配置Tailscale
什么是tailscale? Tailscale就是基于Wireguard的一个联网工具,无需公网地址,通过去中心化,实现各个节点之间点对点的连接.配置简单友好,支持的各类平台和客户端. 相比较其他组网 ...
- koishi-跨平台、可扩展、高性能的机器人
koishi 介绍 Koishi 是一个跨平台.可扩展.高性能的聊天机器人框架. 它的名字和图标设计来源于东方 Project 中的角色 古明地恋 (Komeiji Koishi).古明地恋是一个会做 ...
- 前端React的事件机制
前端React技术框架的事件机制不同于常见的事件机制--原生事件,此文将介绍React的事件机制是什么,与原生事件的区别,以及这两种事件机制是否可以混用等.希望您在阅读这篇文章之后,能够对React的 ...
- Lecture3
Smiling & Weeping ---- 蝴蝶在双翼里藏匿夏的脉络 妄图在绿意中品鉴隆冬 第三章 Git分支管理 3.1 分支的简介 Git最重要的运用场景是多人协同开发,但是如何能保证每 ...
- 向web服务器下载文件
web服务器向客户端发送文件 Web服务器读取一个文件的二进制数据,把这组二进制数据发送个客户端,服务器发送给客户端的HTML文档的本质也是二进制.客户端使用以下代码读文件 response = ur ...
- 一文详解分布式 ID
前言 分布式系统中,我们经常需要对数据.消息等进行唯一标识,这个唯一标识就是分布式 ID,那么我们如何设计它呢?本文将详细讲述分布式 ID 及其生成方案. 一.为什么需要分布式 ID 目前大部分的系统 ...
- RedHat 6.9 操作系统安装
重启服务器--按F11--bios boot manager ---选择自己的U盘 通过U盘启动RedHat6.9系统,如图安装界面: 选择Install or upgrade an exising ...
- 认真学习CSS3-问题收集-102号-关于定位
css中有关于定位的一个属性position. 在w3cschool中,position的介绍如下: 值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定 ...