计算机基础之编程语言
1.1 机器语言
简单来说就是一串二进制字符
优点:执行效率很高(因为是站在计算机的角度来开发的语言)
缺点:开发效率很慢,跨平台性差
1.2 汇编语言
就是用英文标签代替二进制字符
优点:执行效率较高
缺点:开发效率慢,跨平台性差
1.3 高级语言
就是站在人的角度,用人的思维逻辑和想法向操作系统发送指令,而不是直接操作硬件
优点:开发效率高
缺点:执行效率低
编译型:简单来说就是先翻译后执行,如C C++ GO
优点: 编译一次之后就可以拿着结果重复运行,而无需再次翻译,执行效率高于解释型
缺点: 编译型代码是针对某一个平台翻译的,当前平台翻译的结果无法拿到另外一个平台使用,即无法跨平台
解释型:就是翻译和执行同时进行,不生成可存储的目标代码,如python java
优点: 代码运行是依赖于解释器,不同平台有对应版本的解释器,所以代码是可以跨平台运行
缺点: 每次执行都需要翻译,执行效率低于编译型
本质上二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。
PS:总结
执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
学习难度:机器语言>汇编语言>高级语言(编译型>解释型)
跨平台性:解释型>编译型
二.python的简单介绍
2.1 python的产生
Python的创始人为荷兰人吉多·范罗苏姆 (Guido van Rossum)人称, 1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,并且介于C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能 。
2.2 python解释器的版本
主要分为:python2.X
python3.X
2.3 python执行的两种方式
交互式:有来有往,一次只返回一个结果,代码不可进行保存
脚本文件:以文件的方式来执行,代码可以保存
注意:python文件约定俗成将后缀名定义为.py,其实.py单纯就是文本文件
因为python良好的融合性,所以python又被称为“胶水语言”
2.4 python的环境配置
1.解释器的安装,如Cpython Jpython
2.常用的IDE工具pycharm(专门编写python代码)
优点:提升开发效率,操作简单方便
缺点:占用内存资源较大
单行注释:#
多行注释:“”“ ”“”/‘’‘ ’‘’ /快捷键ctrl+?
三.python语言入门之变量
3.1 什么是变量?
变:事物的状态在不断变化
量:描述事物的状态
所以变量就是描述不断变化的事物的状态
3.2 没有变量可以吗?
不可以
3.3 变量怎么用?
1 变量名
2 赋值符号
3 变量值
变量的命名规范:
1 只由字母 数字 下划线组成
2 不能用中文(可以执行但不能用)
3 不能以数字开头
4 区分大小写
变量名的命名风格:
1 驼峰体 如UserAge = ‘bing‘
2 下划线体 如user_age = 'bing'(建议用这种)
变量的三大特性:
变量值:value
变量的类型:type
内存地址:id
四.常量
4.1 什么是常量?
常量指在程序运行过程中不会改变的量
但是python其实没有常量
并且在python中约定俗成的将变量名全为大写的定义为常量
五.垃圾回收机制
5.1 什么是垃圾回收机制?
垃圾回收机制是python解释器自带的一种机制,专门用来回收不可用的变量值所占用的内存空间
5.2 为什么要用垃圾回收机制?
目的就是为了将无用的内存空间尽快的释放出来,提高内存资源的使用率
5.3 垃圾回收机制
1 引用计数
变量值被变量名关联的次数。
变量值有对应的变量名时引用计数为1;
若引用计数变为0则会被垃圾回收机制清除
2 标记清除
当应用程序可用的内存空间被耗尽的时,就会停止整个程序 ,先标记后清除
PS:简单的理解为当变量名同时被删除,那么只剩变量值之间的引用关系,但是变量名的标记都未被激活,则会被垃圾回收清楚
3 分代回收
将多次扫描后未被回收的量进行降级
分代回收采用的是用“空间换时间”的策略
4.小整数池
同一变量值指向多个变量名称,如a = 10 b =10
整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。
Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。
详细的垃圾回收机制的内容介绍可以参考如下的链接
取自小猿取经
https://www.cnblogs.com/xiaoyuanqujing/articles/11640905.html
作者:池木
出处:https://home.cnblogs.com/u/a736659557/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。