python运行原理:
import #导入,就是让一个文件使用另外一个文件的代码
pythoN代码运行原理
1,open打开文件,read阅读文件
2,代码写完后,检查语法是否有误
3,语法无误编译为pyc字节码
4,运行时字节码转换为机器码供cpu调用执行,一切执行的都是py文件,包括类,函数,列表,都是一个py文件
python编码:
默认为ascil编码,8位,一个字节
在三中,默认为utf-8,utf-8是对对万国码unicode的优化,unicode至少为16位2个字节
在2中需要指定,默认为Unicode,需要指定
编码的转换,Unicode转换为utf-8是编码,utf-8转换为Unicode为解码
不同编码的转换,首选要转换解码为Unicode在从Unicode转换编码为其它的
列如utf-8---Unicode--gbk
因为其它的编码都是对unicode的优化发展
python执行脚本传入参数:
sys这个.py文件模块包含了python所有与解释其相关的功能
import sys #导入它,然后就可以使用它所包含的功能了
print(sys.argv) #argv,作用接收所有解释器里的参数,类型是一个列表,使用之后,在编辑器里随便输入一个数,都会被加入到它里面
pyc文件,字节码:
如果已存在pyc文件,删掉py文件,程序也可以执行,因为它是py编译的字节码,优先会找它,如果它被改变,它就会从新找py编译
地址池缓存:减少内存负担,加强效率
小数子池,-5到257
专用于存小数子,在内存中,如果没有它,你用一个5,就会在内存中开辟5个内存地址,浪费空间,有小数字调用5它都从这个池子里调用
字符串池:利用算法把权重高的字符串保存在这个池里,方便调用,减少开辟地址空间
列表,元组也有,元组,元素的集合,一系列元素
exit #退出程序,exit(0),返回数字,与shell类似
元组与列表功能一样,但元素不可以修改
列表定义a=[1,2,3] 元组定义a=(1,2,3)
元组的元素不可以修改
元组元素的元素可以被修改
列如
t1=(1,2,3,{'k1':'v2':'c3'}) #{'k1':'v2'}这个是字典k1是键值,v2是键值所对应的元素,一一相对应的,一对一对的
t1[1]=2 #元素2不可以修改
t1[3]['k1']=2 #字典里的k1元素可以修改,字典整体作为一个元素不可以修改
print(t1)
aa={'k1':'v1',"k2":'v2'} #定义字典
字典:
索引:是通过键值来索引的