Rust宏
Rust 宏Rust 宏(Macros)是一种在编译时生成代码的强大工具,它允许你在编写代码时创建自定义语法扩展。宏(Macro)是一种在代码中进行元编程(Metaprogramming)的技术,它允许在编译时生成代码,宏可以帮助简化代码,提高代码的可读性和可维护性,同时允许开发者在编译时执行一些代码生成的操作。宏在 Rust 中有两种类型:声明式宏(Declarative Macros)和过程宏(Procedural Macros)。本文主要介绍声明式宏。宏的定义在 Rust 中,使用 macro_rules! 关键字来定义声明式宏。macro_rules! my_macro { // 模式匹配和展开 ($arg:expr) => { // 生成的代码 // 使用 $arg 来代替匹配到的表达式 };}声明式宏使用 macro_rules! 关键字进行定义,它们被称为 “macro_rules”...
Rust基础语法
Rust 基础语法变量,基本类型,函数,注释和控制流,这些几乎是每种编程语言都具有的编程概念。这些基础概念将存在于每个 Rust 程序中,及早学习它们将使你以最快的速度学习 Rust 的使用。变量首先必须说明,Rust 是强类型语言,但具有自动判断变量类型的能力。这很容易让人与弱类型语言产生混淆。默认情况下,Rust 中的变量是不可变的,除非使用 mut 关键字声明为可变变量。 let a = 123; // 不可变变量let mut b = 10; // 可变变量如果要声明变量,需要使用 let 关键字。例如:let a = 123;只学习过 JavaScript 的开发者对这句话很敏感,只学习过 C 语言的开发者对这句话很不理解。在这句声明语句之后,以下三行代码都是被禁止的:a = “abc”;a = 4.56;a = 456;第一行的错误在于当声明 a 是 123 以后,a...
Rust函数
Rust 函数函数在 Rust 语言中是普遍存在的。通过之前的章节已经可以了解到 Rust 函数的基本形式:fn <函数名> ( <参数> ) <函数体>其中 Rust 函数名称的命名风格是小写字母以下划线分割:实例fn main() { println!(“Hello, world!”); another_function();} fn another_function() { println!(“Hello, runoob!”);} 运行结果:Hello, world!Hello, runoob!注意,我们在源代码中的 main 函数之后定义了another_function。 Rust不在乎您在何处定义函数,只需在某个地方定义它们即可。函数参数Rust 中定义函数如果需要具备参数必须声明参数名称和类型:实例fn main() { another_function(5, 6);} fn another_function(x: i32, y: i32) { println!(“x 的值为 : {}”, x); ...
RustSlice(切片)类型
Rust Slice(切片)类型切片(Slice)是对数据值的部分引用。切片这个名字往往出现在生物课上,我们做样本玻片的时候要从生物体上获取切片,以供在显微镜上观察。在 Rust 中,切片的意思大致也是这样,只不过它从数据取材引用。字符串切片最简单、最常用的数据切片类型是字符串切片(String Slice)。实例fn main() { let s = String::from(“broadcast”); let part1 = &s[0..5]; let part2 = &s[5..9]; println!(“{}={}+{}”, s, part1, part2);} 运行结果:broadcast=broad+cast 上图解释了字符串切片的原理(注:Rust 中的字符串类型实质上记录了字符在内存中的起始位置和其长度,我们暂时了解到这一点)。使用 .. 表示范围的语法在循环章节中出现过。x..y 表示 [x, y) 的数学含义。.. 两边可以没有运算数:..y 等价于 0..yx.....
Cargo教程
Cargo 教程 在 Rust 开发中,几乎所有的项目都是使用 Cargo 来进行管理和构建的,因为它提供了便捷的工作流程和强大的功能,使得 Rust 开发变得更加高效和可靠。 Cargo 是什么 Cargo 是 Rust 的官方构建系统和包管理器。它主要有两个作用:主要有两个作用:项目管理:Cargo 用于创建、构建和管理 Rust 项目。通过 Cargo,你可以轻松地创建新项目,管理项目的依赖关系,并执行项目的构建、运行和测试等操作。包管理器:Cargo 还充当了 Rust 的包管理器。它允许开发者在项目中引入和管理依赖项(如第三方库),并确保这些依赖项的版本管理和兼容性。Cargo 主要特性和功能: 依赖管理:Cargo 通过 Cargo.toml 文件管理项目的依赖,这个文件列出了项目所需的所有外部库以及它们的版本。 构建系统:Cargo 使用 Rust 编译器(rustc)来构建项目,它会自动处理依赖的编译和链接。 包注册表:Cargo 与 crates.io 这个 Rust 社区的包注册表交互,允许开发者搜索、添加和管理第三方库。 构建配置:通过...
Python 量化
Python 量化Python 量化是指利用 Python 编程语言以及相关的库和工具来进行金融市场数据分析、策略开发和交易执行的过程。 Python 由于其简洁、易学、强大的生态系统和丰富的金融库而成为量化交易的首选编程语言之一。量化交易在金融领域得到广泛应用,它允许交易者通过系统性的方法来制定和执行交易策略,提高交易效率和决策的科学性。量化主要是通过数学和统计学的方法,利用计算机技术对金融市场进行量化分析,从而制定和执行交易策略。更多 Python 量化内容可以查看:Python 量化交易。实例应用接下来我们先看一个 Python 量化简单的应用实例,可以使用移动平均策略,使用雅虎金融数据来实现。该策略的基本思想是通过比较短期和长期移动平均线来生成买入和卖出信号。在进行这个简单实例前,需要先安装三个包:pip install pandas yfinance matplotlib包说明: Pandas 是一个功能强大的开源数据处理和分析库,专门设计用于高效地进行数据分析和操作。 yfinance 是一个用于获取金融数据的库,支持从 Yahoo Finance...
Python 测验
Python 测验 开始 其他相关测试 Python 测验 - 操作符 Python 测验 - 条件判断与循环 Python 测验 – 函数 Python 测验一 Python 测验二 Python 测验三 Python 测验四 Python 测验五 Python 测验六
Python 有用的资源
Python 有用的资源以下资源包含了 Python 有关的网站、书籍和文章。相关网站 Python 3.6.3 中文手册Python3 最新文档Python 2.X 版本的教程Python 算法学习相关书籍: 父与子的编程之旅Python 学习手册Python编程 从入门到实践利用Python进行数据分析流畅的Python更多书籍
Python uWSGI 安装配置
Python uWSGI 安装配置本文主要介绍如何部署简单的 WSGI 应用和常见的 Web 框架。以 Ubuntu/Debian 为例,先安装依赖包:apt-get install build-essential python-devPython 安装 uWSGI1、通过 pip 命令:pip install uwsgi2、下载安装脚本:curl http://uwsgi.it/install | bash -s default /tmp/uwsgi将 uWSGI 二进制安装到 /tmp/uwsgi ,你可以修改它。3、源代码安装:wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gztar zxvf uwsgi-latest.tar.gzcd uwsgi-latestmake安装完成后,在当前目录下,你会获得一个 uwsgi 二进制文件。 第一个 WSGI 应用让我们从一个简单的 “Hello World” 开始,创建文件 foobar.py,代码如下:def...
Python statistics 模块
Python statistics 模块Python statistics 是标准库中的一个模块,模块提供了许多基本统计计算的函数。statistics 模块是在 Python 3.4 版本中新增加的,可以帮助我们分析和计算数据集的统计特征。 要使用 statistics 函数必须先导入:import statistics查看 statistics 模块中的内容: import statisticsdir(statistics)[‘Counter’, ‘Decimal’, ‘Fraction’, ‘NormalDist’, ‘StatisticsError’, ‘all‘, ‘builtins‘, ‘cached‘, ‘doc‘, ‘file‘, ‘loader‘, ‘name‘, ‘package‘, ‘spec‘, ‘_coerce’, ‘_convert’, ‘_exact_ratio’, ‘_fail_neg’, ‘_find_lteq’, ‘_find_rteq’, ‘_isfinite’, ‘_normal_dist_inv_cdf’, ‘_ss’,...