diff --git a/docs/course/foundation/language_fundamentals/data_types.md b/docs/course/foundation/language_fundamentals/data_types.md index e0a12a5..b6dd9cb 100644 --- a/docs/course/foundation/language_fundamentals/data_types.md +++ b/docs/course/foundation/language_fundamentals/data_types.md @@ -1,2 +1,60 @@ # 数据类型 -变量和常量的定义如字面上的表示。 +在任何语言中都会涉及到数据类型和数据结构,Python 的数据类型也比较多,但是其实并不是所有的数据类型都会被用到。 + +其实有些东西感觉应该属于数据结构类的。但是很多时候我们却有放在一起来讨论。 + +为了简化我们的内容,我们会在后面单独开一个章节用来讨论 Python 的数据类型和数据结构。 + +## 基本数据类型 +与所有语言都一样,我们都会遇到一些基本的数据类型。 + +下面我们按照常见的使用频率来进行一些讨论。 + +### 文本类型 +这就是我们最常用的字符串。 + +一个字母 A 或者一串字母 AAA 都可以认为是一个字符串,在所有语言中,字符串是最基本的,几乎所有的文本都可以被定义为字符串,数字 3 也可以被定义为字符串。 + +### 数字类型 +在自然世界中,除了字符以外,我们还会使用数字。计算机通常也是通过计算来达到目的的。 + +在 Python 中,有 3 个数字类型。 + +- 整形(int) +- 浮点型(float) +- 复数(complex) + +### 布尔类型 +从小到大,我们通常会做一些叫判断题的东西。 + +针对判断题,我们都会知道有 Y(是) / N (否) 这 2 个答案,基本上所有的语言都会有这个数据类型。这是因为这个类型将会对程序的流程判断起到非常重要的作用。 + +很多时候布尔类型又会和整型进行互换,通常我们会使用整数来表示 T/F。 + +至于 1 是 T 还是 F,其实都可以和每个人的习惯有关系,通常表达的是 1 为 T,0 为 F。 + +### 二进制类型 +在二进制类型中,我们通常用于存储一些二进制的数据,包括可以使用 bytes, bytearray, memoryview 等。 + +与字符串不同的是,二进制数据通常不能够被人工从计算机中读取,可以想象二进制数据就是一大堆的 0,1 的集合。比如说一张照片,其实就是一堆 0,1 的集合,但是这个集合中使用了特定的编码方式以便于表达特定的数据。 + +在程序语言中,通常需要具备处理二进制数据的能力,所以我们在这里单独列出来。 + +但是在实际使用的时候,在这里可能会涉及到文件读取,存储,转换,计算,抽样等。 + +## 其他类型 +可能不是非常准确的表述,很多人也会将使用的其他数据结构认为是 Python 使用的数据类型。我们认为这个应该也可以称为数据结构。 + +比如说在很多教材中可能会说 Python 还会有 Lists,Tuples, Dictionaries 等数据类型。 + +我们在这里打算借用 Java 的数据类型和结构定义。 + + +**Collection (集合数据类型)**,在集合数据类型中,分为有序的和无序的。在集合数据类型中,我们通常用这个数据结构存储元数据或者对象。 + +有序的集合数据类型,通常包括有 Lists(列表),Tuples(元组) + +无序的集合数据类型,通常包括有 Set,frozenset。 + + +**Mapping 数据类型**,与集合数据类型不同的时候, Mapping 通常存储的是一个 K-V 对,在 Python 对应的是 dict(字典)。 \ No newline at end of file diff --git a/tests/CleanScreen.py b/tests/CleanScreen.py new file mode 100644 index 0000000..80714ef --- /dev/null +++ b/tests/CleanScreen.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +# import only system from os +from os import system, name + +# import sleep to show output for some time period +from time import sleep + + +# define our clear function +def clear(): + # for windows + if name == 'nt': + _ = system('cls') + + # for mac and linux(here, os.name is 'posix') + else: + _ = system('clear') + + # print out some text + + +print('Hello CWIKIUS\n' * 10) + +# sleep for 2 seconds after printing output +sleep(2) + +# now call function we defined above +clear() diff --git a/tests/Variables.py b/tests/Variables.py index 5384a49..c5f830e 100644 --- a/tests/Variables.py +++ b/tests/Variables.py @@ -24,9 +24,11 @@ print(x) print(y) # 类型转换 -x = str(3) # x will be '3' -y = int(3) # y will be 3 -z = float(3) # z will be 3.0 +x1 = str(3) # x will be '3' +x2 = int(3) # y will be 3 +x3 = float(3) # z will be 3.0 +x4 = chr(31243) # z will be 3.0 +x5 = ord('程') # z will be 3.0 # 获得类型 print("==================")