代码改变世界

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