TypeScript 类型系统## TypeScript 类型系统 分享人:陈文岗 学校:中国科学院大学 2021年1月21日 ## 关于TypeScript TypeScript是微软推出的JavaScript静态类型版本,它是JavaScript的超集,可以编译为纯粹的JavaScript TypeScript How Does TypeScript Work? TypeScript file.ts JavaScript jpg) ## TypeScript 基础类型 // 数字类型 let num: number; num = 123; // 布尔类型 let flag: boolean; flag = false; // 字符串类型 let str: string; str = 'Hello World'; ## TypeScript 高级类型 // 数组类型 let arr: number]; arr 'chenwengang', age: 23 }; // 函数类型/函数签名 type Callback = () => void; let cb:Callback = () => { console.log('callback'); }; ## TypeScript 高级类型 // 交叉类型 type User1 = { name: string;0 码力 | 25 页 | 1.27 MB | 2 年前3
5 刘知杭 静态类型的Python## 静态类型的Python PYTHON 30th Lyzh(刘知杭) ## 目录 CONTENTS ➤ 有关类型的概念 使用mypy对Python源代码进行静态分析 代数数据类型 拓展知识 ## 关于类型的一些基本概念 有类型不等于有类型系统 PYTHON 30th 动态语言类型化的必要性 ## 不久前的一个案例 ☀️ ☀️ ☁️ rl = filter(lambda x: HttpResponse(json.dumps(rl), content_type='application/json') ## 类型的概念 CPython定义了PyObject这个结构体作为对象头。 CPython中的类型,是指在对象头中指向类型元信息的指针。 ## ●●● // cpython/include/object.h #define PyObject_HEAD PyObject CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 ## 类型系统是什么? 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。0 码力 | 42 页 | 6.87 MB | 2 年前3
基本数据类型## PyTorch ## 基本数据类型 主讲人:龙良曲 ## All is about Tensor |python|PyTorch| |---|---| |Int|IntTensor of size()| |float|FloatTensor of size()| |Int array|IntTensor of size \[d1, d2, ...]| |Float array|FloatTensor0 码力 | 16 页 | 1.09 MB | 2 年前3
ECMAScript规范 第三版 中文版10 4.3 定义.....12 4.3.1 类型.....12 4.3.2 原语值.....12 4.3.3 对象.....12 4.3.4 构造函数.....12 4.3.5 原型.....12 4.3.6 本地对象.....12 4.3.7 内置对象.....12 4.3.8 宿主对象.....13 Undefined 类型.....13 4.3.11 空值.....13 4.3.12 Null 类型.....13 4.3.13 布尔值.....13 4.3.14 Boolean 类型.....13 4.3.15 Boolean 对象.....13 4.3.16 字符串值.....13 4.3.17 String 类型.....14 14 4.3.18 String 对象.....14 4.3.19 数值.....14 4.3.20 Number 类型.....14 4.3.21 Number 对象.....14 4.3.22 Infinity(无穷).....14 4.3.23 NaN.....14 5 记法约定.....15 5.1 语法和词法文法0 码力 | 58 页 | 563.06 KB | 2 年前3
Python 标准库参考指南 3.12 WebAssembly 平台 2 内置函数 3 内置常量 3.1 由 site 模块添加的常量 4 内置类型 4.1 逻辑值检测 4.2 布尔运算 --- and, or, not 4.3 比较运算 4.4 数字类型 --- int, float, complex 4.4.1 整数类型的按位运算 4.4.2 整数类型的附加方法 4.4.3 浮点类型的附加方法 4.4 4.4 数字类型的哈希运算 4.5 布尔类型 -bool 4.6 迭代器类型 4.6.1 生成器类型 4.7 序列类型 --- list, tuple, range 4.7.1 通用序列操作 4.7.2 不可变序列类型 4.7.3 可变序列类型 4.7.4 列表 4.7.5 元组 4.7.6 range 对象 4.8 文本序列类型 --- str 4.8 4.9 二进制序列类型 --- bytes, bytearray, memoryview 4.9.1 bytes 对象 4.9.2 bytearray 对象 4.9.3 bytes 和 bytearray 操作 4.9.4 printf 风格的字节串格式化 4.9.5 内存视图 4.10 集合类型 --- set, frozenset 4.11 映射类型 --- dict0 码力 | 2253 页 | 11.81 MB | 1 年前3
Python 标准库参考指南 3.12 WebAssembly 平台 2 内置函数 3 内置常量 3.1 由 site 模块添加的常量 4 内置类型 4.1 逻辑值检测 4.2 布尔运算 --- and, or, not 4.3 比较运算 4.4 数字类型 --- int, float, complex 4.4.1 整数类型的按位运算 4.4.2 整数类型的附加方法 4.4.3 浮点类型的附加方法 4.4 4.4 数字类型的哈希运算 4.5 布尔类型 -bool 4.6 迭代器类型 4.6.1 生成器类型 4.7 序列类型 --- list, tuple, range 4.7.1 通用序列操作 4.7.2 不可变序列类型 4.7.3 可变序列类型 4.7.4 列表 4.7.5 元组 4.7.6 range 对象 4.8 文本序列类型 --- str 4.8 4.9 二进制序列类型 --- bytes, bytearray, memoryview 4.9.1 bytes 对象 4.9.2 bytearray 对象 4.9.3 bytes 和 bytearray 操作 4.9.4 printf 风格的字节串格式化 4.9.5 内存视图 4.10 集合类型 --- set, frozenset 4.11 映射类型 --- dict0 码力 | 2253 页 | 11.81 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型# 现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 基础数据类型:多元组与结构体 ## 回顾:多元组 • 多元组:固定长度的不同类型数据的集合 ☐ 定义: $ (\leq $ 表达式 $ \gt $ , $ \leq $ 表达式 $ \gt $ , $ \geq $ ) ☐ 类型:(<表达式类型>,<表达式类型>,...) ○ 例如: ■ 身份信息:("Bob" == 2023 • 列表:任意长度的相同类型数据的集合 ○ 例如: ■ 字符的序列:Cons('H', Cons('i', Cons('!', Nil))) Cons : construct 的缩写 ## 笛卡尔积 - 一个多元组类型的元素即是每个组成类型的元素构成的有序元素组。集合的笛卡尔积,又称积类型 。例:扑克牌的所有花色: $ \{ $ postal: Int } 通过名称,我们能明确数据的信息以及对应字段的含义 ## 结构体的定义 - 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } o struct PersonalInfo { name: String; age: Int} • 定义结构体的值时,形如 { <字段名>: <值>0 码力 | 26 页 | 435.86 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型{ int x = -7 >> 2; printf("%d\n", x); } 1 ## 位运算 >> 对负数的处理 signed 类型的 >> n 会把最高位复制 n 次。 因为补码的特性,这导致负数 >> 的结果仍是负数。 这样就实现了和 Python 一样的始终向下取整除法。 ## 11001010 printf("%d\n", x); } -2 ## unsigned 类型的位运算 >> 不一样 而 unsigned 类型的 >> n 会不会复制最高位, 只是单纯的位移,这会导致负数的符号位单独被位 移,补码失效,造成结果不对。 unsigned 类型的 >> 会生成 shr 指令,signed 类型的 >> 会生成 sar 指令。 我们需要负方向无限延伸的稀疏数据结果,那就只要 2; } bate::timing("main"); return 0; } ## 使用 int64_t :每个占据 8 字节 • 如果用更大的数据类型,用时会直接提升两倍! 这是因为 i%2 的计算时间,完全隐藏在内存的超高延迟里了。 - 可见,当数据量足够大,计算量却不多时,读写数据量的大小唯一决定着你的性能。 - 特别是并行以后,计算量可以被并行加速,而访存却不行。0 码力 | 102 页 | 9.50 MB | 2 年前3
Python 标准库参考指南 3.13 移动平台 4 # 2 内置函数 7 # 3 内置常量 33 3.1 由 site 模块添加的常量 34 # 4 内置类型 35 4.1 逻辑值检测 35 4.2 布尔运算 --- and, or, not 35 4.3 比较运算 36 4.4 数字类型 --- int, float, complex 36 4.4.1 整数类型的按位运算 37 4.4.2 整数类型的附加方法 38 4 4.4.3 浮点类型的附加方法 40 4.4.4 数字类型的哈希运算 41 4.5 布尔类型 - bool 42 4.6 迭代器类型 42 4.6.1 生成器类型 43 4.7 序列类型 --- list, tuple, range 43 4.7.1 通用序列操作 43 4.7.2 不可变序列类型 45 4.7.3 可变序列类型 45 4.7.4 列表 45 4.7.5 元组 46 46 4.7.6 range 对象 47 4.8 文本序列类型 --- str 48 4.8.1 字符串的方法 49 4.8.2 printf 风格的字符串格式化 57 4.9 二进制序列类型 --- bytes, bytearray, memoryview 58 4.9.1 bytes 对象 58 4.9.2 bytearray 对象 60 4.9.3 bytes 和 bytearray0 码力 | 2242 页 | 11.73 MB | 1 年前3
Python 标准库参考指南 3.10.15 可用性注释 4 # 2 内置函数 5 # 3 内置常量 29 3.1 由 site 模块添加的常量 30 # 4 内置类型 31 4.1 逻辑值检测 31 4.2 布尔运算 -- and,or,not 32 4.3 比较运算 32 4.4 数字类型 -- int,float,complex 33 4.4.1 整数类型的按位运算 34 4.4.2 整数类型的附加方法 34 4.4 4.3 浮点类型的附加方法 36 4.4.4 数字类型的哈希运算 37 4.5 迭代器类型 38 4.5.1 生成器类型 39 4.6 序列类型 -- list,tuple,range 39 4.6.1 通用序列操作 39 4.6.2 不可变序列类型 41 4.6.3 可变序列类型 41 4.6.4 列表 42 4.6.5 元组 43 4.6.6 range 对象 43 4.7 7 文本序列类型 -- str 45 4.7.1 字符串的方法 46 4.7.2 printf 风格的字符串格式化 53 4.8 二进制序列类型 -- bytes,bytearray,memoryview 55 4.8.1 bytes 对象 56 4.8.2 bytearray 对象 57 4.8.3 bytes 和 bytearray 操作 58 4.8.4 printf 风格的字节串格式化0 码力 | 2207 页 | 10.45 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













