Python运行原理及语法基础
一、程序运行中必不可少的三大核心:
1、CPU:中央处理,负责数据运算。
2、内存:临时存储数据(断电之后,数据会消失),读取速度快,空间小
3、硬盘:永久存储数据,读取速度慢,空间大
二、Python运行原理
(1).操作系统会首先让CPU把【python解释器】的程序加载到内存中
(2).【python解释器】读取内存中的【python源代码】,解释器让CPU根据语法规则从上到下翻译【python原代码】翻译成【字节码】
(3) .然后【python解释器】再将【字节码】转成【二进制机器码】
(4) .最后CPU执行【二进制机器码】
源代码→解释器→二进制码→CPU执行(cpu仅能读取二进制)
编译器与解释器的区别:(执行时机不同)
编译器:在执行代码前先编译再执行,直接执行编译后的二进制码(编译型语言)
编译器的特点:运行速度快,但是不能跨平台操作(不同的操作系统编译的结果不能共用)
解释器:在运行代码时再进行翻译。
解释器的特点:运行速度较慢,可跨平台。
1)标识符和关键字
1、 标识符规范: 必须由数字 字母 下划线任意组合,且不能以数字开头。
2、 Python中的关键字:
3、变量:
变量定义规则:
(1) 符合标识符规范。
(2)不能使用python语言关键字。
(3)变量具有可描述性。
(4)不能用中文。
注意事件:
(1) Python中的变量赋值不需要声明类型。
(2)每个变量在内存中创建,都包括变量的名称和数据这些信息。
(3)每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
(4) Python中的一切皆为对象,所有类型(基本类型、引用类型、自定义类型)
允许同时赋值多个对象:
数据交换:
使X=1,y=2转换成X=2,y=1 方法一:
x,y=1,2
x,y=y,x
print(x,y)
方法二:(需要把变量y的值重新赋值给另一个数,保存y的原始值)
x=1
y=2
z=y
y=x
x=z
print(x,y)
2)进制的转换
十进制转换成二进制:将十进制的数除以2,余数重下往上排列
例如:将50转换成二进制 得出值为110000
二进制转换成十进制:
例如:10110
1*2^4+0*2^3+1*2^2+1*2^1+0*2^0=22
八进制和十进制的转换将上列式子的2替换成8即可。16进制同理。
3)位运算符
&按位与,同时为1时结果才是1,其他情况都是0。
例如:2&3
转换成二进制10&11=10,转回十进制结果为2 。
|按位或,其中一个为1时结果就是1,全0才是0。
例如:2|3
转换成二进制10|11=11,结果为3。
^按位异或,相反时为1,相同时为0。
例如:2^3
转换成二进制10^11=1,结果为1。
<<按位左移,二进制数向左移两位。
2<<3
10<<3=10000。相当于2*2^3。
右移同理。
Python运行原理及语法基础相关推荐
- 可对Python运行原理进行可视化分析的工具
Python Tutor Python Tutor是一个对Python运行原理进行可视化分析的工具,网址为: http://www.pythontutor.com 使用范例 参考链接 转载于:http ...
- python解析原理_Python语法垃圾回收机制原理解析
一 引入 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那 ...
- python运行原理_Python线程池及其原理和使用(超级详细)
系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互.在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池. 线程池在系统启动时即 ...
- gridview 在已有数据的基础上添加数据_基于Python的数据分析-1.语法基础(上)
开篇 惯例:print('hello world') 运算符 比较运算符 返回类型为布尔值(True/False),多用于判断 数值运算符 顺序结构 代码按照顺序按行执行 判断结构 if 条件:代码块 ...
- python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解
导读:本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 作者:罗攀 蒋仟 如需转载请联系华章科技 本文涉及的主要知识点如下: P ...
- python打开文件切片_收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)...
来源:大数据 作者:罗攀 蒋仟 本文约5000字,建议阅读20分钟. 本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 本文涉及 ...
- 收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)
来源:大数据 作者:罗攀 蒋仟 本文约5000字,建议阅读20分钟. 本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 本文涉及 ...
- 【Python百日基础系列】Day02-Python语法基础
Python百日基础系列 视频讲解2-1 [Python百日基础系列]02-Python语法基础-1 视频讲解2-2 [Python百日基础系列]02-Python语法基础-2 文章目录 Python ...
- 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)
本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 01 Python与PyCharm安装 "工欲善其事,必先利其器&q ...
最新文章
- AngularJs $cacheFactory 缓存服务
- Docker数据卷管理
- jQuery表格的行编辑
- matlab中的nlinfit,matlab中nlinfit问题!!!!!!!!!!!!
- C语言工作笔记-函数指针的使用(补充C回调系统)
- 38 CO配置-控制-产品成本控制-成本对象控制-实际成本核算/物料分类帐-分配材料分类帐类型给评估区域
- jquery 里面对数组操作-去重
- php源码微信快速登陆,PHP实现微信开放平台扫码登陆源码下载
- ACM做题过程中的一些小技巧
- 苏州新导RFID智能医药柜,为老人用药,取药吃药带来了方便
- linux双系统无u盘安装教程视频教程,window 与Linux Mint 双系统U盘安装方法
- js编写五种基础排序(冒泡排序、选择排序、插入排序、快速排序、sort)
- Discuz安装短信宝短信插件教程
- python绘制包络线_包络线和包络谱计算程序
- Android集成高德地图
- IE8经常无故卡死终极解决办法分享
- Python实现QQ定时回复(附源码exe)
- 工作遇坑-Cannot allocate memory问题解决方法
- DTOJ 1486:分数(score)
- 模拟SPI进行TF卡操作+Fatfs文件系统移植