dayⅡ:编程语言+变量+垃圾回收制

一、编程语言分类:

1、机器语言

#直接用二进制指令编写程序
    优点:程序的运行速度快
    缺点:
        1、编写程序太复杂了
        2、记忆困难

2、汇编语言

#用英文标签取代二进制指令去编写程序

3、高级语言

#用人类能理解的表达方式编写程序,需要经过翻译才能被计算机理解、运行
#按照翻译方式的不同,又分为两种:
        1、编译型(c、go)

        2、解释型(python,shell

#运行效率:机器语言>汇编语言>高级语言(编译型>解释型)
#开发效率:机器语言<汇编语言<高级语言

二、运行python的两种方式:

1、交互式环境

    输入代码立即得到结果

2、脚本的方式

    python3 /Users/linhaifeng/PycharmProjects/s15/day02/d.txt

三、运行python程序经历的三个步骤:

1、先启动python解释器
2、python解释器就相当于一个文本编辑器先把d.txt的内容由硬盘读入内存
3、解释器解释执行刚刚读入内存的d.txt的内容,开始识别python语法

# 多行注释:'''''',""""""
# 单行注释:#

四、变量:

1、什么是变量?

量:记忆下事物的状态
变:事物的状态是可以发生变化的

2、为何要用变量?

    变量是为了控制计算机能够像人一样去记忆下事物的状态
    并且记录的状态是可以发生变化的


    变量其实是一种控制计算机把数据存起来的机制,存到内存中

    名字 = egon
    年龄 = 18


    程序=数据+逻辑

3、如何用变量?

(1)原则:先定义、后引用
name = "egon"
age = 18
salary = 3.1
height = 1.81
weight = 73

print(name)
print(age)
print(salary)
print(height)
print(weight)
print(weight # 语法错误不能忍,打死他

name="egon"
name # 逻辑错误不可避免,应该尽量规避

(2)变量的三大组成部分:

# 变量名:相当于门牌号,用来访问/引用值
# =:是把变量值的内存地址绑定给变量名
# 变量值:就是我们记录的状态,也就是程序中的数据

(3)变量名命名规则

#I: 变量名只能是 字母、数字或下划线的任意组合
age_of_egon1=18
age1=19
age2=20

_=13 #不建议是下划线开头
_a=14

#II. 变量名的第一个字符不能是数字
1age=18 # 非法
123=18 # 非法

#III:不用使用关键字
print=123 # 非法
print("hell world") # 非法
['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']

(4)变量名的命名原则:变量名应该见名知意

age=19
level=19
print(age)
print(level)

(5)变量名的命名风格:变量名推荐使用风格II

# I:驼峰体
AgeOfEgonBaby=18
# II:纯小写加下划线
age_of_egon_baby=18

(6)变量值的三大特征

# I:id号,又称之为身份,id反映的是内存地址,id相同内存地址则相同
age=18
print(id(age))

#ps: id不同,代表内存空间不同,但是不同的内存空间中可以存放相同的值
Python 3.8.3 (v3.8.3:6f8c8320e9, May 13 2020, 16:29:34) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> x=257
>>> y=257
>>> id(x)
4494198128
>>> id(y)
4494198192
>>> 
>>> 
>>> m=256 # -5~256间的整数值id相同
>>> n=256
>>> id(m)
4490930816
>>> id(n)
4490930816
>>> 

x=25712312312312312312  #超过一定值后id也相同
y=25712312312312312312
print(id(x))
print(id(y))

# II:类型
age=18
salary=3.1
name="egon"
print(type(age))
print(type(salary))

# III:值本身

五、内存管理值垃圾回收机制

1、引用计数

age=18 # 18被引用1次
x=age # 18被引用了2次
print(age)
print(x)

x=19  # 18被引用计数减1
del age  # 18被引用计数减1

# 当18的引用计数为0时,他就是垃圾,就会被gc回收
AGE = 18
# AGE = 19
print(AGE)

posted @ 2020-06-02 19:21  迷路的玖儿  阅读(195)  评论(0编辑  收藏  举报