julia-模组Core(第9讲)

2024-03-20 09:08
文章标签 core 模组 julia

本文主要是介绍julia-模组Core(第9讲),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模组Core
==========================================================================
1.用途:Core语言“内置”的标识符模块,标识符是核心语言的一部分,而不是库的一部分。
               每个模块都隐式指定using Core,因为没有这些定义您将无法做任何事情。

==========================================================================
2.函数:

===(x,y) -> Bool
≡(x,y) -> Bool                #在没有程序可以区分它们的意义上,确定x和y是否相同

a,b= [1, 2], [1, 2]
a == b,a === b,a === a#(true, false, true)
≡(a,b)==(a === b)        # true
==========================================================================
isa(x, type) -> Bool      #确定x是否属于给定type;可用中缀运算符x isa type
isa(1, Int)==(1 isa Int)   # true

isa(1, Matrix),isa(1, Char), isa(1, Number)#(false, false, true)
==========================================================================
isequal(x, y)# 类似==,除处理浮点数和缺失值:NaN=NaN,-0.0!=0.0,missing=missing
                   # 标量,int数组直接用==;自定义时必须暗示hash(x) == hash(y)

[1., NaN] == [1., NaN],isequal([1., NaN], [1., NaN])# (false, true)
(0.0 == -0.0),isequal(0.0, -0.0)# (true, false)
==========================================================================
isequal(x)
# 创建一个将其参数与xusing 比较的函数isequal,即一个等效于的函数y -> isequal(y, x)。

返回的函数类型为Base.Fix2{typeof(isequal)},可用于实现专门的方法。
==========================================================================
isless(x, y)# 根据固定顺序测试是否x小于y;比较关系可传递isless(x, y) && isless(y, z)==>isless(x, z)

 x,y=[1,2],[1,3]
 isless(x,y)# true
==========================================================================
ifelse(condition::Bool, x, y)# 返回x如果condition是true,否则返回y

ifelse(1 > 2, 1, 2)# 2
==========================================================================
typeassert(x, type)# 抛出一个TypeError除非x isa type;x::type调用此函数

typeassert(2.5, Int)#TypeError
==========================================================================
typeof(x)                           # 获取x数据类型

a = 1//2;typeof(a)             # Rational{Int64}
M = [1 2; 3.5 4];typeof(M)# Array{Float64,2}
==========================================================================
tuple(xs...)                            #构造元组
ntuple(f::Function, n::Integer)#创建长度为n的元组,将每个元素计算为f(i),i为元素索引

tuple(1, 'a', pi)   # (1, 'a', π)
ntuple(i -> 2*i, 4)# (2, 4, 6, 8)
==========================================================================
objectid(x)#获取x对象哈希值

x,y=1,1
objectid(x)==objectid(y)#如x === y   UInt64 0xa6165bea1dfbfae6
==========================================================================
hash(x[, h::UInt])计算一个整数哈希码,isequal(x,y)意味hash(x)==hash(y);参数h是要与结果混合的哈希码

hash(a)    # 0x02011ce34bce797f
objectid(a)# 0xa6165bea1dfbfae6
==========================================================================

这篇关于julia-模组Core(第9讲)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828962

相关文章

摄像头模组介绍和技术指标

1 手机摄像头概述 1.1 手机摄像头概述  手机的数码相机功能指的是手机是否可以通过内置或是外接的数码相机进行拍摄静态图片或短片拍摄,作为手机的一项新的附加功能,手机的数码相机功能得到了迅速的发展。 手机摄像头分为内置与外置,内置摄像头是指摄像头在手机内部,更方便。外置手机通过数据线或者手机下部接口与数码相机相连,来完成数码相机的一切拍摄功能。 外置数码相机的优点在于可以减轻手机的重

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

Banana Pi BPI-SM9 AI 计算模组采用算能科技BM1688芯片方案设计

产品概述 香蕉派 Banana Pi BPI-SM9 16-ENC-A3 深度学习计算模组搭载算能科技高集成度处理器 BM1688,功耗低、算力强、接口丰富、兼容性好。支持INT4/INT8/FP16/BF16/FP32混合精度计算,可支持 16 路高清视频实时分析,灵活应对图像、语音、自然语言等场景,可集成于智算服务器、边缘智算盒、工控机、无人机、AIOT等多种类型产品。 Banana

C#/.NET/.NET Core推荐学习路线文档文章

前言 专门为C#/.NET/.NET Core推荐学习路线&文档&文章提供的一个Issues,各位小伙伴可以把自己觉得不错的学习路线、文档、文章相关地址分享出来🤞。 https://github.com/YSGStudyHards/DotNetGuide/issues/10 🏷️C#/.NET/.NET Core优质学习资料 📚.NET 入门教程 📚

ASP.NET Core 入门教学十七 GraphQL入门指南

GraphQL 是一种用于 API 的查询语言,允许客户端请求所需的数据,并能够合并多个资源到一个请求中。在 ASP.NET Core 中使用 GraphQL 可以提供更灵活、高效和实用的数据查询方式。以下是 ASP.NET Core 中 GraphQL 的入门指南: 1. 安装必要的 NuGet 包 首先,你需要安装以下 NuGet 包: GraphQLGraphQL.Server.Tra

【UE4源代码观察】观察Core模块

话题 Core模块是整个引擎中最核心的模块,在之前的博客【UE4源代码观察】可视化所有模块的依赖情况中有统计,它被983个模块引用,恐怕除了第三方的模块外基本所有模块都有引用。我想首先观察其中的内容,然后再做测试:将Core模块拷贝到之前【UE4源代码观察】手动建立一个使用UBT进行编译的空白工程建立的空白工程中,看能否将它成功编译,理论上讲,“核心”不应再依赖太多其他的东西,所以我应该不会再需

Spark Core源码精读计划7 | Spark执行环境的初始化

推荐阅读 《Spark源码精度计划 | SparkConf》 《Spark Core源码精读计划 | SparkContext组件初始化》 《Spark Core源码精读计划3 | SparkContext辅助属性及后初始化》 《Spark Core源码精读计划4 | SparkContext提供的其他功能》 《Spark Core源码精读计划5 | 事件总线及ListenerBus》 《Spa

Spark Core源码精读计划3 | SparkContext辅助属性及后初始化

推荐阅读 《关于MQ面试的几件小事 | 消息队列的用途、优缺点、技术选型》         《关于MQ面试的几件小事 | 如何保证消息队列高可用和幂等》 《关于MQ面试的几件小事 | 如何保证消息不丢失》 《关于MQ面试的几件小事 | 如何保证消息按顺序执行》 《关于MQ面试的几件小事 | 消息积压在消息队列里怎么办》 《关于Redis的几件小事 | 使用目的与问题及线程模型》 《关于Red

移远通信高端5G智能模组SG560D-NA率先通过PTCRB认证

近日,移远通信宣布,其基于高通QCM6490平台打造的高端5G智能模组SG560D-NA顺利通过PTCRB认证。 在此之前,该模组还获得了美国FCC和加拿大IC认证,这意味着,其已完全满足北美地区的相关标准和规定,能够支持相关智能设备在该区域高效稳定运行,助力客户快速开拓北美市场。 高端5G,性能领航 SG560D-NA基于高通QCM6490平台开发,搭载高性能八

Mybatis 逆向生成工具mybatis-generator-core-1.3.2.jar的使用

mybatis-generator-core-1.3.2.jar用来生成我们的项目代码,今天分享一下,这个工具,神器之处,在于不仅仅生成dao,mapper还有service层,web层都可以根据数据库反射生成出来。上图 如图,使用mybatis,无非就用××××EntitySqlProvider或××××EntityMapper.xml两种形式书写sql语句,生成方法本文均提供 展开图