学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块

bug由来 昆虫 臭虫
机器码 由二进制组成 是给计算机看 计算机可以直接执行
汇编码 由数字和字母和符号组成的一些代码
问题 汇编语言书写的代码必须按照计算的计算流程书写
写代码的流程就是在模拟计算机运行的流程
make space a in 3
make space b in 4
make space c in a add b
c=a+b
高级编程语言源码
由数字 字母 符号组成
可以按照人类的思维习惯去书写代码
int a=3;
int b=4;
int c=a+b;
源代码-机器码 编译
常量:不变的量
1.直接在程序中出现的数据(字面量)
2.将一个变量通过一些手段变成一个常量
限制变量的值不可修改
特殊的:在python中不存在第二种
变量:变化的量

变量的本质:进程空间中一个临时的存储空间
并且该临时存储空间有其自己的物理内存地址(由计算机随机分配)
因为变量的地址是随机的,所以我们不应该直接通过该变量的地址去操作数据
怎么办?我们可以给变量起别名 变量名
系统底层会自动为 变量名称和其针对的变量的地址 做一个表格
其实 在C语言里面 这个变量的地址 就是 指针
那么 该空间中存啥?先记住一点 无论是哪种语言 变量空间中永远不可能存数据本身 存的是数据的地址
常量池中 常量数据的地址
堆内存中 对象数据的地址
进程中 变量的地址

学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块变量本质
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块 int a=3;
int b=3;
int c ;指针变量
c=&b;
c本身还是变量有自己的地址 c里存的是b的地址0
456
printf("%d",c); 0x456 b的地址
printf("%d",&c);0x789 c的地址
printf("%d",c);0x333是一个常量的地址->常量
int **d; 首先
d是个指针变量,意思可以存普通变量的地址,再加个*,也是指针变量,但是存的是另外一个指针的地址
d=&c;
printf("%d",&d);0x666
printf("%d",d);空间找 0x789
printf("%d",d);按照0789地址找c 打印0x456
printf("%d",d);*d=c c找b **d=b 打印0×333 是常量 所以打印 3
printf("%d",
&
&d);&d d的地址0×666 **&d找c 找c地址 再*一下 又在c 所以打印 0x456
变量永远存的是数据的地址
C 里面只有常量池中的地址 变量的地址
Java 里面只有常量池中的地址 堆中的地址 没有指针
Python 里面只有堆中的地址
Python中一切数据皆对象

高级编程语言之间区别
静态编译型 C C++ Java
编译:先将源代码整体编译完成 生成一个可执行程
然后运行该可执行程序即可
一本英文书->翻译->一本中文书
c++
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块编译
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块VSC强制打开后乱码

学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
.c->编译->.exe C语言
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块编译
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
.java->编译->.class Java语言

解释型:逐行进行编译且运行
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
同声传译 别人说一句英文 我翻译一句

动态解释型 Python JavaScript Matlab

静态:变量数据类型一旦确定 则不可更改 但是可以向下兼容

动态:变量数据类型随着数据的变化而变化
a=3
#id() 查看当前数据的地址
print(id(a)) # 查看a所存储的数据在堆内存中的地址
print(id(3)) # 查看3这个数据在堆内存中的地址
print(type(a))# int
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
两个地址一样
a=3.14
print(id(a)) # 查看a所存储的数据在堆内存中的地址
print(id(3.14)) # 查看3.14这个数据在堆内存中的地址
print(type(a))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
数据类型变为浮点型。

a=“一二三四”
print(id(a))
print(id(“一二三四”))
print(type(a))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
数据类型变为字符串。

“”" 三个引号
重点:
变量本身是内存当中的一个临时存储空间
该空间中存的数据的地址(数据都在堆)
变量的数据类型随着所存储的数据变化而变化

“”“
# 单行注释
“”“ 多行注释 三个双引号中间写 ”“”

练习题
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
print((分子)/(分母))
print((9.54.5-2.53)/(45.5-3.5))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
print(4*(1-1/3+1/5-1/7+1/9-1/11))
print(4*(1-1/3+1/5-1/7+1/9-1/11+1/13-1/15))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块#提示用户输入摄氏温度
cel=float(input(“Enter a degree in Celsius:”))
#利用已知公式求华氏温度
fah=(9/5)*cel+32
#输出
#print格式化输出

.0 .1 表示保留零位和一位小数

print("%.0f Celsius is %.1f Fahrenheit"%(cel,fah))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块#提示用户输入半径和高
eval 同时输入两个A,B=eval(input(“Enter the A and B of a cylinder:”))
radius,length=eval(input(“Enter the radius and length of a cylinder:”))
pi=3.1415
#计算底面积 area
area=radius**2pi
#计算体积volume
volume=area
length
#输出
print(“The area is %.4f”%area)
print(“The volume is %.1f”%volume)
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块area 数据取决于pi的给定值 所以是正确的
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块#提示用户输入一个0~1000之间的数字
number=int(input(“Enter a number between 0 and 1000:”))
number=999
a=number%10 #9
number//=10 #99
b=number%10 #9
number//=10 #9
c=number%10 #9
sum=a+b+c
print(sum)
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块#提示用户输入一个分钟数:
#分钟//60 =整小时 小时//24=整天数 天数//365=整年 天数%365 剩下的天数
minutes=int(input(“Enter the number of minutes:”))
hours=minutes//60
days=hours//24
years=days//365
shengyu=days%365
print("%d minutes is approcimately %d years and %d days"%(minutes,years,shengyu))

学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
#提示用户输入三个坐标点 六个数据
x1,y1,x2,y2,x3,y3=eval(input(“Enter three points for a triangle:”))
#三个坐标两两成边
side1=((x1-x2)**2+(y1-y2)**2)**0.5 #p1 p2
side2=((x2-x3)**2+(y2-y3)**2)**0.5 #p2 p3
side3=((x3-x1)**2+(y3-y1)**2)*0.5 #p3 p1
#计算半周长
s=(side1+side2+side3)/2
#计算面积
area=(s
(s-side1)(s-side2)(s-side3))**0.5
#输出
print(“The area of the triangle is %.1f”%area)
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块#如何获取当前时间
#time模块 返回从1970年1月1日00:00:00至今所经过的毫秒数import time

import time
#提示用户输入时区
offset=int(input(“Enter the time zone offset to GMT:”))
#总秒数
totalSeconds=int(time.time())
#当前秒数
currentSeconds=totalSeconds%60
#总分钟数
totalMintues=totalSeconds//60
#当前分钟数
currentMintues=totalMintues%60
#总小时数
totalHours=totalMintues//60
#当前小时数
currentHours=(totalHours%24+offset)%24
print(“The current time is %.f:%.f:%.f”%(currentHours,currentMintues,currentSeconds))
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块检验一下我们是东八区输入8
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块正确
学习Python第二天 机器码汇编码 高级汇编语言源码 常量变量 变量本质高级编程语言之间区别 例题 eval多项输入 time模块