003dayPython学习初始模块和字节码

一、注释:
1、单行注释
# 被注释的内容
2、多行注释
"""
被注释的内容
"""

二、模块
我们在编程的时候,往往是一个主.py文件,多个功能文件,当用到某个功能的时候将其导入到主文件中
这些以.py结尾的功能文件,我们可以将其称之为模块

模块分为系统模块和自定义模块
系统模块是系统中本身就有的,像sys、time等模块
而自定义模块就是我们自己写的.py文件

导入模块用 import+模块名 即可,例:
import sys
运行时,import sys这行代码就会被替换成相应的功能

三、字节码
当我们在主文件中执行导入功能文件的时候,我们会发现磁盘上多了一个和功能文件同名的以.pyc结尾的文件,这个.pyc文件就是字节码
我们知道,python的运行过程是:python -> 字节码 -> 机器码 -> 计算机
如果直接有字节码的话,会提升python的运行效率,因为省去了代码转换成字节码的过程
系统会优先寻找.pyc文件,换句话说,如果没有.py文件,但是有.pyc文件,程序一样可以运行

时间: 2024-08-17 17:53:27

003dayPython学习初始模块和字节码的相关文章

初识模块和字节码

1.python有大量的模块,从而使得开始程序非常简洁.类库有包括三种: a.Python内部提供的模块b.业内开源的模块c.程序员自己开发的模块 2.执行脚本传入参数 python内部提供一个sys的模块,其中的sys.argv用来捕获执行python脚本时传入的参数 例如: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys print sys.argv  3.pyc文件 执行python代码时,如果导入了其他的.py文件,那么执

深入JAVA虚拟机之字节码执行引擎

前言:class文件结构.类加载机制.类加载器.运行时数据区这四个java技术体系中非常重要的知识,学习完了这些以后,我们知道一个类是通过类加载器加载到虚拟机,存储到运行时数据区,而且我们也知道了我们方法体内的代码被编译成字节码保存在方法表中的code属性中,那么虚拟机又是怎么执行这些代码的,得出方法输出结果的呢?这一节我们就要来学习,关于虚拟机字节码执行引擎的相关知识.通过这章节的学习,我们要掌握一下知识点: 1.运行时栈帧结构 2.方法调用 3.基于栈的字节码执行引擎 运行时栈帧结构 栈帧是

安卓逆向学习---初始APK、Dalvik字节码以及Smali

参考链接:https://www.52pojie.cn/thread-395689-1-1.html res目录下资源文件在编译时会自动生成索引文件(R.java ), asset目录下的资源文件无需生成索引. 一般来说:使用C++游戏引擎的资源文件放在asset下 java开发中除音频和视频资源(放在raw或asset下),均放在res下. Dalvik字节码是什么? Dalvik是Google专门为Android设计的一个虚拟机. Dalvik VM是基于寄存器的,而JVM是基于栈的,Dal

Python字节码与解释器学习

参考:http://blog.jobbole.com/55327/ http://blog.jobbole.com/56300/ http://blog.jobbole.com/56761/ 1. 在交互式命令行中执行命令的内部过程 当你敲下return键的时候,python完成了以下四步:词法分析.句法分析.编译.解释.词法分析的工作就是将你刚才输入的那行代码分解为一些符号token(译者注:包括标示符,关键字,数字, 操作符等).句法分析程序再接收这些符号,并用一种结构来展现它们之间的关系(

javaAgent和Java字节码增强技术的学习与实践

参考文章: https://www.cnblogs.com/chiangchou/p/javassist.html https://blog.csdn.net/u010039929/article/details/62881743 https://www.jianshu.com/p/0f64779cdcea [本文代码下载] 下载代码 [背景] 最近在工作中进行程序的性能调优时,想起之前同事的介绍的阿里的Java在线诊断工具 —— arthas,决定试用一下. 这玩意,是真的好用,能在对被检测程

关于java字节码框架ASM的学习

一.什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为.Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称.方法.属性以及 Java 字节码(指令).ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类.asm字节码增强技术主要是用来反射的时候提升性能的,

第七节,初识模块字节码和注释

模块 模块(也可以理解为调用代码文件,被调用的文件或者一个功能叫做模块) 调用模块最大的好处就是实现了代码复用,不用重复写代码 举例: 文件1.py调用文件adc.py 文件1.py代码如下 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 #import调用了adc这个文件 4 import adc 文件adc.py代码如下 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # 打印(被

jquery源码学习-初始(1)

最近几天一直在研究jquery源码,由于水平太低看得昏头转向.本来理解的也不是很深刻,下面就用自己的想法来说下jquery是如何定义构造函数初始化的.如果有什么不对的地方,希望个位高手指出. 首先要了解下什么时候自执行匿名函数 ,它的用途就是 相当于创建一个命名空间,只要把自己所有的代码写在这个特殊的函数包装内,外部不能访问,除非你允许. 基本格式 (function(){ //代码 })(); (function(){ var a = 10; function $(){ alert(a); }

字节码技术在模块依赖分析中的应用

背景 近年来,随着手机业务的快速发展,为满足手机端用户诉求和业务功能的迅速增长,移动端的技术架构也从单一的大工程应用,逐步向模块化.组件化方向发展.以高德地图为例,Android 端的代码已突破百万行级别,超过100个模块参与最终构建. 试想一下,如果没有一套标准的依赖检测和监控工具,用不了多久,模块的依赖关系就可能会乱成一锅粥. 从模块 Owner 的角度看,为什么依赖分析这么重要? 作为模块 Owner,我首先想知道“谁依赖了我?依赖了哪些接口”.唯有如此才能评估本模块改动的影响范围,以及暴