化思维导图的软件:mindjet
数据是存在内存里的,32位操作系统最多寻址4G内存,如果我们是8G的内存,相当于浪费内存,而64位的操作系统理论上寻址空间为无穷大,所以现在从32位升级到64位。内存是与CPU进行沟通的桥梁,所有程序的运行都是在内存中进行的,内存的运行决定了计算机的稳定运行。
那么数据是怎么存储在内存里的呢?
例如:存储10
内存中存的是二进制的0或1,将八个0或1放到一个字节,其中的每一个0或1叫做一位,每个字节都有地址,把无数个字节堆叠起来,就是内存。
单位:
1bit = 1位
8bit = 1字节
1024字节 = 1 k
1024k = 1兆
1024兆 = 1G
1024G = 1T
内存中以二进制形式存储数据,
内存地址用16进制数表示。
学习八进制的目的是,他比较好在二进制十进制十六进制之间进行转换。
八进制转为二进制:一位相当于三位,eg.65(8)=110101(2)
十六进制转二进制:一位相当于四位,eg.a4(16)=10100100(2)
计算机存储数据要先开辟内存空间,在存储数据,计算机开辟内存的最小单位是字节。
例如:存储10:
10(10) = 1010(2)
所以内存中存储的10如下所示:32位。
00000000000000000000000000001010
注意:在存储时,最高位是符号位,1表示负数,0表示正数。但不是直接把最高位变为1就行的,因为这样想加起来并不得0,正负1相加应该为0才对,所以说明负数存储规则为:
原码:规定了字节数,写明了符号位,就得到了数据的原码。
反码:正数的反码就是其原码,负数的反码是其原码的符号位不动,其他位取反
补码:正数的补码 = 原码,负数的补码 = 反码+1
内存中存储的是补码。
number(数字),正数、浮点数(小数)、复数
string(字符串)
boolean(布尔值)
none(空值)
list(列表)
tuple(元组)
dict(字典)
set(集合)
标识符是一串字符串,但字符串未必是标识符。
标识符的规则:只能有字母、数字、下划线组成,且数字不打头;不能是保留字和关键字。区分大小写;见名知意;遵循驼峰原则,首单词正常,从第二个单词开始,首字母大写,例如:sunckGoodMan
标识符作用:给变量和函数等命名的。
import keyword
print(keyword.kwlist)
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
Process finished with exit code 0
程序可操作的存储空间的名称,实质上是这个内存的地址,但是要用变量展示出来,标识符就是给变量命名的。
变量是在程序运行期间可以改变的数据。每个变量都有特定的类型。
变量的作用:将不同类型的数据存储到内存中。
定义变量:变量名=初始值。其中初始值为了确定变量的类型。
数据存储:变量名=数据值
注意:变量在使用之前必须定义,否则会报错。
删除变量:del 变量名 。 删除后变量无法引用,相当于没有定义。
查看变量类型:
age = 12
print(type(age))
查看变量地址:
age = 12
print(id(age))
8791103091888
程序运行期间不能改变的数据。
整数:python可以处理任意大小的整数,包括负整数,在程序中的表示和数学写法一样。
交互式赋值定义变量:
age,shengao = 12,170
浮点数:由整数部分和小数部分组成,浮点数运算可能会有四舍五入的误差。
复数:由实数部分和虚数部分构成,可以用a+bj表示。
print(int(1.9))
print(float(1))
print(int("123"))
print((int("+12")))
print((int("-12")))
# print((int("3+12")))
1
1.0
123
12
-12
注意:加减号只有作为正负号才有意义,作为加减运算符号会报错。当然,其他字母或者符号放到里面也会出错。