day02
一、编程语言分类
1、机器语言:直接用二进制指令编写程序
优点:程序的运行速度快
缺点:①编写程序太复杂②记忆困难
2、汇编语言:用英文标签取代二进制指令去编写程序
3、高级语言:用人类能理解的表达方式编写程序,需要经过翻译才能被计算机理解、运行
按照翻译方式的不同,又分为两种
①编译型(c、go)
②解释型(python,shell)
运行效率:机器语言>汇编语言>高级语言(编译型>解释型)
开发效率:机器语言<汇编语言<高级语言
二、mac解释器安装
安装:
mac:vim ~/.bash_profile/etc/profile
卸载:
第 1 步,删除框架:
sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x
第 2步,删除应用目录:
sudo rm -rf "/Applications/Python x.x"
第 3 步,删除指向 Python 的连接
cd /usr/local/bin/ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/x.x' | awk '{print $9}' | tr -d @ |xargs rm
第 4 步:清理环境变量
~/.bash_profile/etc/profile
三、运行python程序的两种方式
1、交互式环境
输入代码立即得到结果
2、脚本的方式
python3 /Users/linhaifeng/PycharmProjects/s15/day02/d.txt
3、运行python程序经历的三个步骤
①先启动python解释器
②python解释器就相当于一个文本编辑器先把d.txt的内容由硬盘读入内存
③解释器解释执行刚刚读入内存的d.txt的内容,开始识别python语法
四、变量
1、什么是变量
量:记忆下事物的状态
变:事物的状态是可以发生变化的
2、为何要用变量
变量是为了控制计算机能够像人一样去记忆下事物的状态,并且记录的状态是可以发生变化
变量其实是一种控制计算机把数据存起来的机制,存到内存中
名字 = egon
年龄 = 18
程序=数据+逻辑
3、如何用变量
①原则:先定义、后引用
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 # 逻辑错误不可避免,应该尽量规避
②变量的三大组成部分
变量名:相当于门牌号,用来访问/引用值
=:是把变量值的内存地址绑定给变量名
变量值:就是我们记录的状态,也就是程序中的数据
③变量名命名规则
I: 变量名只能是 字母、数字或下划线的任意组合
age_of_egon1=18
age1=19
age2=20
_=13
_a=14
II. 变量名的第一个字符不能是数字
1age=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、变量名的命名风格:变量名推荐使用风格
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
>>> n=256
>>> id(m)
4490930816
>>> id(n)
4490930816
>>>
x=25712312312312312312
y=25712312312312312312
print(id(x))
print(id(y))
II:类型
age=18
salary=3.1
name="egon"
print(type(age))
print(type(salary))
III:值本身
内存管理值垃圾回收机制
引用计数
age=18 # 18被引用1次
x=age # 18被引用了2次
print(age)
print(x)
x=19 # 18被引用计数减1
del age # 18被引用计数减1
当18的引用计数为0时,他就是垃圾,就会被gc回收
浙公网安备 33010602011771号