python解释器和变量

1 python解释器

1.1 python解释器安装

2 编写第一个python程序

1
print('hello world!')

3 一个python程序运行所经历的三个阶段(******)

1
2
3
4
5
python3 1.py

1、先启动python解释器
2、解释器会1.py的内容从硬盘读入内存
3、解释器会解释执行刚刚读入内存的内容,开始识别python语法

4 注释

1
2
3
单行注释: #

多行注释: ```

5 变量

5.1 什么是变量

变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。

5.2 为什么要有变量

程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。

1
2
3
4
比如:
英雄的等级为1,打怪升级(变)为10
僵尸的存活状态True,被植物打死了,于是变为False
人的名字为egon,也可以修改为Egon

5.3 如何定义变量

1
2
3
4
5
#变量名:(相当于门牌号,指向值所在的空间),等号,变量值
name='Egon'
sex='male'
age=18
level=10

变量的定义规范

1
2
3
#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

定义方式:

1
2
3
4
5
6
#1.驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#2.下划线(推荐使用)
age_of_oldboy = 56
number_of_students = 80

定义变量名不好的方式

1
2
3
#1. 变量名为中文、拼音
#2. 变量名过长
#3. 变量名词不达意

定义变量会有:id,type,value

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#1 等号比较的是value,
#2 is比较的是id

#强调:
#1. id相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同,如下
>>> x='Info Egon:18'
>>> y='Info Egon:18'
>>> id(x)
4376607152
>>> id(y)
4376607408
>>>
>>> x == y
True
>>> x is y
False
  • 1、在交互式模式下
    Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收

每创建一个-5到256之间的整数,都是直接从这个池里直接拿走一个值,例如

1
2
3
4
5
6
7
8
>>> y=4
>>> id(y)
4297641184
>>>
>>> x=3
>>> x+=1
>>> id(x)
4297641184
  • 在pycharm中
    但在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究

变量的修改与内存管理(引用计数与垃圾回收机制)

常量

常量即指不变的量,如pai 3.141592653…, 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56

#ps:在c语言中有专门的常量定义语法,const int count = 60;一旦定义为常量,更改即会报错

6 基本数据类型

数字(整形,长整形,浮点型,复数)
字符串
字节串:在介绍字符编码时介绍字节bytes类型
列表
元组
字典
集合

博客参考
知乎参考