一、编程语言的发展史
机器语言-->汇编语言-->高级语言,学习难度及执行效率由高到低,开发效率由低到高
机器语言:二进制编程,0101
汇编语言:用英文字符来代替0101编程
高级语言:
编译型语言:像谷歌翻译一样,一大段一大段的编译
优点:一次编译,永久运行
缺点:开发效率低,编译不通过就直接不执行了,每次修改需要重新编译
解释行语言:像同声传译一样,一行一行的编译
优点:方便修改,更新迭代
缺点:执行效率低
二、python基础
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
python又称胶水语言、调包侠(直接调用写好的包、模块)
两种运行方式
交互式
优点:输入命令立刻就有对应的返回结果,反馈性比较好
缺点:无法永久保存数据,终端/命令行已关闭就没了
命令行(python 解释器执行 python文件的形式)
优点:理论上可以永久保存数据
缺点:运行文件有点麻烦(python 文件路径及文件名)
拓展: 文件后缀名仅仅是给人的,在计算机中存储的都是二进制数据,并没有任何意义
不同后缀名文件有不同功能是因为程序提前写好的,在软件上有限制,操作系统也封装了相当多的一部分后缀相关,不同后缀文件就可以显示不同图标
IDE编辑器:pycharm
封装了上面的命令行方式(你点运行按钮的本质也是在命令行下用 python 解释器执行文件)
下载安装,选择professional版本(专业版),社区版的功能不全,后期学习django框架的时候就不行了
python开发,编辑器并不是必须的,解释器才是必须的,用pycharm这样的软件是为了快速开发
基础配置----添加解释器版本(File-Settings,1-7)
切换解释器版本,(File-Settings,1-4)
解释器多版本共存
python 解释器分为 2.x 和 3.x 两大主流版本,因3.x语法有些许改变,不兼容 python2.x,这就导致了旧的用 python3.x 的解释器执行 python 2.x的项目会报错
python 官方最终出了个python 2.x 的最终版本 2.7.16版本 来维持以往 python 2.x 项目的运行,同时不再提供 2.x 版本的更新
ps:IT行业软件千万不要去尝试最新版本(近期更新的版本),因为短期内新版本还隐藏着许多bug,拿去开发将会遇到很多代码之外的问题
环境变量
在 cmd 命令行窗口下,你输入内容,系统会自动去你配置的环境变量列表(每个环境变量是一个文件目录)中找与之匹配文件名(忽视后缀),匹配到了就(打开)执行它
如何配置环境变量
右键计算机/此电脑 --> 属性 --> 高级系统设置 --> 环境变量 --> 编辑系统变量 --> 找到path,往里面添加路径即可
如何实现多版本共存
根据上述环境变量原理理解,你如果配置了两个 python 解释器目录到环境变量中,系统会从环境变量目录中依次往下去找哪个环境变量(目录)中有 “python” 这个文件名,找到了,就执行它,所以尽管你在环境变量中配置了多个不同版本的 python 解释器目录,他只会执行你最先配置的环境变量中的那一个
故:要实现多版本共存,需要让不同的 python 环境变量中有不同的文件,即复制一份 python.exe文件,改成其他名字,在终端中输入新的文件名即可运行对应的版本(在其他的 python解释器中没有这一文件,所以不会被提前匹配到)。
变量
含义:描述某种事物的某种变化的状态或特征
变量命名规范:
1.变量名只能包含字母、数字、下划线
2.不能以数字开头
3.不能是python关键字
4.命名重在见名知意,长短不重要
5.两种常用命名风格:驼峰式(colorOfLaptop)、下划线式(color_of_laptop),python推荐使用下划线式(color_of_laptop)
变量三要素:
1.id():返回变量的内存地址
小整数池:python解释器为了节约内存,将 -4~256 之间的数据变量存储时指向同一个内存地址(这和 pycharm编辑器 的小整数池范围不一样)
如下面,整数变量 a、b、c 分别是 100、100、222,但是他们的内存地址均为 1636465216,将 b 改为 222 后,查看其内存地址,依旧是 1636465216,这是因为100、222均在小整数池这个范围中,共享同一个内存地址
>>>a = 100
>>>b = 100
>>>c = 222
>>>print(id(a), id(b), id(c))
1636465216 1636465216 1636469120
>>>
>>>b = 222
>>>print(id(a), id(b), id(c))
1636465216 1636469120 1636469120
垃圾回收机制:引用计数、标记清除、分代回收
2.type():返回变量所指向内存中所存数据的数据类型
>>>name = "sada"
>>>print(type(name))
<class 'str'>
3.value:变量指向内存地址中的数据值
ps:变量在使用前需要先定义
“常量”
python中没有常量这一概念,但人们约定俗成,将变量名全大写来表示(COLOR_OF_LAPTOP),常量的本质意义是不可改变的量,所以不要去改变常量的值(虽然在python中不会报错)