1.计算机基本组成原理
1.冯诺依曼体系:存储原理,把程序本身当做一种数据看待,程序和程序需要处理的数据采用相同的方式进行存储
基本要点:计算机的数制要采用二进制表示: 计算机要按照程序的顺序执行
冯诺依曼体系架构:
1.输入数据和程序的输入设备 -- 键盘什么的
2.记忆程序和数据的存储器 -- 内存,硬盘
3.完成数据加工处理的运算器 -- cpu
4.控制程序执行的控制器 -- cpu
5.输出处理结果的输出设备 -- 显示器,音响
机器能够识别0和1,我们称之为机器码,高级语言编写的代码code代码为源代码
机器码由无数个0和1组成
源代码可以是人为设定的语言模板 C++ JAVA
python
在应用程序与硬件之间的操作系统之上,我们还需要安装一个特殊的应用程序:编译器,解释器
一个编程语言越高级它转译为机器码就越复杂,反之。。。自己想,越高级人越看得懂开发简单转译过程越复杂
2.python解释器执行流程
1.开始执行xxx.py文件
2.此时系统调度python解释器程序,开始运行
3.第一步python解释器会逐行读取xxx.py文件中的源代码,读取一行,编译一行,编译为pycodeobject字节码对象,并将其写入至源代码文件同名.pyc,然后将这个.pyc文件读取至内存
4.第二步python解释器从内存中读取.pyc文件中的字节码对象,随后开始读取一行,解释一行,解释为机器码,并逐行执行机器码
5.运行结束后python解释器将pycodeobject字节码对象再重行写回pyc文件中(在一个环境多次执行当中会寻找pyc文件,如果有则直接读取,没有再编译)
3.PEP-8 第八号python增强提案,统一的编码风格
缩进:代表代码的嵌套,即包含和被包含的关系,即逻辑上的承上启下的关系
空格和缩进tab不能一起用
模块与报的导入语句要单独一行
源代码编码统一采用UTF-8
顶层函数和类的定义,前后要使用两个换行隔开
逻辑代码块之间,要用一个换行隔开
4.注释
#单行注释
三对""多行注释
5.pycharm常用的一些快捷键
1.将光标移动到本行的开头:home键
2.将光标移动到本行的末尾:end键
3.快速注释/快速取消注释:ctrl + /
4.复制光标所在行:ctrl + d
5.删除光标所在行:shift + delete
6.移动光标所在行:shift + ctrl + 上下箭头
基本常用函数
1.pring('内容')多条输出('内容','内容')
参数:
end:规定每一条输出结果以何字符结束,end='\n'转义字符,换行输出,也可以改\n以什么结束一行
input:接受从键盘输入的数据
语法:data=input('输入内容的提示:')
type(数据对象):可以查看返回数据类型
变量
定义:存储数据对象的存储空间,可变的,有名字的,有名字是为了找到这个对象,用于引用计算机的内存地址,该地址只存储一个数据对象
变量语法:声明赋值语句
变量名=数据对象
可以多变量多数据对象赋值
=:表示赋值
==:表示相等
===:javascript java全等,值类型全等才行,python没有
变量需要先声明再赋值,关于赋值的理解,创建一个变量与数据对象之间的引用关系,而非存储关系,而非前文的存储关系
变量命名规则
字母中文下划线数字可随意搭配,就是不能以数字开头
变量命名尽量采用驼峰命名法 ,匈牙利命名法
驼峰命名法
大驼峰:英文单词每个开头都大写
小驼峰:从第二个单词开始首字母大写
匈牙利命名法:变量名尽量与数据对象的含义有关
变量的重新赋值:为变量创建一个新的引用关系
变量引用关系拷贝:即从另外一个变量拷贝其引用关系到自身
del语句:用于删除变量
语法:del 变量名,变量1
注意:del一定是删除的变量,删除的是变量与数据对象的引用关系,而非数据对象,删了之后如果没有别的引用关系数据对象也会被释放
变量的类型:
在python中没有变量类型的概念,变量类型是动态的
数据类型
1.数据:一切在计算机能存储的数据,客观讲对事物的描述,记录等等
2.数据类型:个体与个体之间的差异化,但同时又具备诸多相似性,把一类具有相似性的数据集中管理就是数据类型
3.python数据类型
整型 - int
浮点型 - float
复数 - complex(类似与双精度)
实数:有限小数和无限小数
虚数:无限不循环小数
布尔类型 - bool
空值 - none
字符串 - str
列表 - list
元组 - tuple
字典 - dict
集合 - set
固定集合 - frozenset
字节串 - bytes
python基本数据类型划分
按照是否为数字类型划分
数字类型:整形,浮点型,复数,布尔类型
其他类型:none,序列,容器
按照是否为序列或容器:
序列类型:字符串,列表,元组,字节串
容器类型:字典,集合与固定集合
其他类型:none
按照python对象的可变与不可变划分:
可变类型对象:列表,字典,集合
不可变类型对象:数字类型,字符串,元组,固定集合,字节串
数制及计算机数字表示基本原理
1.数字的进制表示:二进制,十进制,十六进制
二进制:逢二进一,只有0和1
0d1001
1100 1011
二进制首位含义:
1代表正数
0代表负数
八进制:逢八进一,只有0-7这八个数
0O012
234(8)
十进制:逢十进一,0-9这十个数
0d23
23(10)
十六进制:逢十六进一,有0-9这十个数,A-F这6个数,A-F=10-15
0xE4393C
23A(16)