day02--计算机系统、编程分类
2018-05-26 14:23 huangdong丶 阅读(186) 评论(1) 编辑 收藏 举报完整的计算机系统:
应用程序
操作系统
计算机硬件
什么是操作系统:
是一个协调、管理、控制计算机硬件与软件的控制程序
操作系统分成两部分:
接口程序:将硬件的功能封装成简单的接口,用来给应用软件或者给用户使用
内核:具体控制硬件,对下
内核态与用户态(了解)
cpu的两种工作状态
用户态:cpu执行用户程序/应用程序所处的状态,处于用户态不能控制硬件
内核态:cpu执行操作系统内核所处的状态,处于内核态能够控制硬件
应用程序的启动:(重点!!!)
前提:先启动操作系统
1、向操作系统提交程序启动文件的路径
2、操作系统根据文件路径把硬盘的数据读入内存
3、操作系统调用cpu来执行内存中刚刚读入的程序代码
编程语言分类:
机器语言:用二进制指令编程,本质是直接操作硬件
优点:执行效率高
缺点:
开发效率低
学习难度高
汇编语言:用英文标签代替二进制指令,本质也是直接操作硬件
优点:执行效率高
缺点:
开发效率低
学习难度高
高级语言:用人类的字符去编写程序,人类的字符计算机无法理解,必须经过翻译,翻译成机器语言计算机才能执行
编译型:C
类似与谷歌翻译-->gcc
特点:编译一次,拿到结果可以重复执行,无需重新编译
翻译:程序---->gcc----->机器语言
执行:机器语言---->CPU
优点:
执行效率高
缺点:
调试程序麻烦
跨平台性差
解释型:Python
类似于同声传译--》解释器
特点:解释一行,执行一行,即边翻译边执行
程序---->解释器----->机器语言----->CPU
优点:
开发效率高
跨平台性高
调试程序方便
缺点:
执行效率低
学习难度:从高到低
执行效率:从高到低
开发效率:从低到高
python解释器安装,多版本共存
我的电脑-》属性-》高级系统设置-》环境变量-》修改系统PATH
win10:直接添加
win7:C:\Users\oldboy1;C:\Users\oldboy2;C:\Users\oldboy3;D:\python36
mac:
/etc/profile
PATH=python的安装路径:$PATH
export PATH
source /etc/profile
第一个python程序,两种运行程序的方式
交互式:调试程序
python 程序的路径:python D:\test.txt (强调,后缀名没有影响,但写成.py结尾是约定俗成)
重点:
1、先启动python解释器
2、将D:\test.txt的代码读入内存
3、解释执行
变量:
什么是变量?
变:变化
量:表示的是状态
变量是一种可以反映出状态变化的一种机制
为什么要有变量?
程序的执行本质就是一系列状态的变化
如何定义变量?
语法:
变量名=值
变量名是对值的引用
示范:
level=0
level=1
age=18
age=19
is_live=True
is_live=False
name='egon'
python自动的垃圾回收机制(了解)
垃圾:值身上的引用计数为0
增加引用计数
x=1
y=x
减少引用计数
x='egon'
del y # 删除y与1的绑定关系
变量的命名规范?
#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名
定义方式?
驼峰体
AgeOfOldboy=58
下划线
age_of_oldboy=58
变量的三个特征(重点)
id:
type
value
示范:
>>> name='egon'
>>> print(id(name))
1964167301752
>>> id(name)
1964167301752
>>>
>>>
>>> type(name)
<class 'str'>
>>>
>>> name
'egon'
#==:比较的是值
s1='name:alex,age:73'
s2='name:alex,age:73'
>>> s1='name:alex,age:73'
>>> s2='name:alex,age:73'
>>> id(s1)
1964167290288
>>> id(s2)
1964167290504
>>>
>>> s1 is s2
False
>>> s1 == s2
True
#is:身份运算,比较的是id
>>> x=1
>>> y=x
>>>
>>>
>>> id(x)
1894346208
>>> id(y)
1894346208
>>> x == y
True
>>> x is y
True
常量:不变的量
AGE_OF_OLDBOY=58
x=1
y=1