千家信息网

Julia/Python/Matlab基本语法比较是怎样的

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关Julia/Python/Matlab基本语法比较是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。相信很
千家信息网最后更新 2026年11月01日Julia/Python/Matlab基本语法比较是怎样的

本篇文章给大家分享的是有关Julia/Python/Matlab基本语法比较是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

相信很多朋友刚开始做算法时应该都是用matlab做理论模型的验证,后来Python又大火,很多小伙伴又争相学起来python,可过了没多久,一个更牛逼的语言又进入了我们的视野--Julia,号称是有matlab似的直观数学表达式,有C的运算速度。相信又有不少朋友蠢蠢欲动了,而小编发现在刚开始学习某种语言时或者在多个语言之间来回切换时,很容易把它的语法跟其他语言搞混,所以今天我们就整理了一份Julia/Python/Matlab三种算法工程师常用的编程语言的基本语法的比较,小伙伴们可以收藏起来,在忘记某个语法时拿出来看看。

基本数据类型

Python:数字、字符串、列表、元组、集合、字典

Matlab:数字、字符串、逻辑值、表、结构体、元胞数组、函数句柄

Julia:数字、字符串、自定义类型(struct/Union/Tuple/Array等)

注:julia 网上很多教程都是针对0.3版本,跟最新的1.0版有很多语法不太一样,在学习时最好看julia官方文档


Python

Matlab

Julia

基本操作

类型

动态语言,在运行期间才去做数据类型检查,因此无需指定数据类,在第一次赋值时会将数据类型记下

动态语言,但可以指定类型,添加类型会显著提高性能和系统稳定性

值有类型,变量没有类型

整数

使用方法:x=1

可用x.bit_length()查看x的bit数,python中int型是没有大小限制的,理论上位宽可以无限大

使用方法:x=1

matlab中默认都是double类型,也可以用int16(x)将x转为16位有符号数

使用方法:x=1

在64位系统中默认是Int64类型的,可用typeof(x)查看x的类型,也可以用Int32(x)将x转成Int32类型

浮点数

使用方法:x=1.0

float型

使用方法:x=1.0

默认double型

使用方法:x=1.0

在64位系统中默认是Float64类型,也可以用Float32(x)将其转换为Float32类型

复数

x = complex(1,2)

x1 = x.real

x2 = x.imag

x = 1 + 1i*2

x1 = real(x)

x2 = imag(x)

x = 1 + 2im

x1 = real(x)

x2 = imag(x)

分数

x = 0.5

x.as_integer_ratio()

x = 0.5

formalt rat

x = 1//2

不同进制间转换

x1 = int(0b1010)

x2 = int(0x10)

x3 = hex(10)

x4 = bin(20)

x1 = bin2dec('1010')

x2 = hex2dec('a')

x3 = dec2hex(10)

x4 = dec2bin(10)

x1 = 10

x2 = UInt8(x1)

x3 = Int64(x2)

Julia中对于整数只定义了Int和UInt两种类型,其中Int用10进制表示,UInt用16进制表示

字符串

x1 = 'a'

x2 = 'abc'

x3 = "a"

x3 = "abcd"

单双引号没有区别

x1 = 'a'

x2 = 'abc'

字符和字符串都用单引号

x1 = 'a'

x2 = "abc"

跟C一样,字符用单引号,字符串用双引号

查看数据类型函数

a = [1,2,3]

type(a)

a = [1,2,3;4,5,6];

class(a)

double

a = rand(3,3)

typeof(a)

Array(Float64,2)

矩阵操作(Julia在矩阵操作方面跟MATLAB基本类似,函数用法也基本一致)

矩阵

合并

x = np.ones((2,3))

y = np.zeros((2,3))

np.hstack((x,y))

np.vstack((x,y))

x = ones(2,3)

y = zeros(2,3)

[x,y]或[x y]

[x;y]

x = ones(2,3)

y = zeros(2,3)

[x y]

[x;y]

注:[x,y]是矩阵直接拼接,并不是将矩阵内的元素拼接

矩阵索引

x的索引从0开始

x的索引从1开始

x的索引从1开始

矩阵维度

x.shape

size(x)

size(x)

矩阵求和

x.sum()

sum(x)

sum(x)

函数操作

函数

定义

def f1(x):

return x,x+1

function [y1,y2] = f1(x)

y1 = x;

y2 = x + 1;

end

function f1(x)

x,x+1

end

简单形式:

f(x,y) = x + y

julia特殊用法:

+(1,2,3)结果为6

匿名函数

多与map/filter等联用

f = lambda x,y:x+y

f(2,3)

filter(lambda x:x+3,[1,2,3,4])

f=@(x,y)x+y

f(2,3)

map(x->x+1,[1,2,3])

不定长参数

(默认参数和关键值参数用法相同)

*表示不定长参数为list

**表示不定长参数为dict

def f1(*arg1,**arg2)

print(arg1)

print(arg2)

f1(1,2,a=[1,2,3],b=9)

函参中varargin表示变量个数

function f1(varargin)

for i=1:numel(varargin)

disp(varargin{i})

end

f1(1,'abc',345)

function f(x...)

r1 = length(x)

r2 = x[r1]

return r1,r2

end

print(f(1,2,3,4))

参数类型

无需指定,在函数调用时才会得到参数类型

无需指定,在函数调用时才会得到参数类型

可以不指定,也可以指定

function f1(x::Int64)

end

控制流

条件语句

if flag<0:

a = -1

elif:

a = 0

else:

a = 1

if flag<=0

a = -1

elseif flag==0

a = 0

else

a = 1

end

if flag<=0

a = -1

elseif flag==0

a = 0

else

a = 1

end

while语句

while a<5:

…

while a<5

…

end

while a<5

…

end

for语句

for i in range(10):

…

for i = 0:9

…

end

for i = 0:9

…

end

for k in [1,2,3,4]

println(k)

end

以上就是Julia/Python/Matlab基本语法比较是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

类型 函数 参数 字符 矩阵 语言 语法 使用方法 字符串 方法 数据 引号 索引 数字 系统 语句 进制 学习 动态 变量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 新华互联网科技学院 科技企业和互联网企业 金融科技创新监管互联网金融 科技与互联网发展 互联网科技股午盘股票涨跌 衡水科技产业互联网平台 重庆威客帮互联网科技 宁夏科技产业互联网案例 科技互联网大厂 互联网5g黑科技有哪些 速维有品互联网信息科技(苏州)有限公司 互联网科技大奖都有哪些公司 佛山市翊博互联网络科技有限公司 伍佰万互联网科技怎么赚钱 银行科技岗属于互联网吗 扫呗互联网科技有限公司 互联网高科技行业有哪些企业 互联网科技手抄报图片 广州全民伙伴互联网科技有限公司 没上市的科技互联网公司 互联网金融公司科技 平安科技 互联网 善班互联网科技有限公司 金融科技与互联网金融相同和不同 浙江互联网科技研学营 本届互联网博览会上的黑科技 科技互联网行业投资研究 中国互联网公司的科技投入 科技美学互联网 艺术
0