ERROR:错误
waring:警告,还没到犯错的地步
print(r'\n') r"字符串",字符串里的所有字符都不转义
str = "abcdef"
如果想隔一个取出来,str[0::2]
深浅拷贝
列表的内存存放
Python修改的变量只是修改了指向地址。
如果修改变量:
a = 1
b = a
那么a和b都是指向1所在的内存。
如果:
a = [1,2,3]
def change():
a[0] = 'a'
print a
change()
print a
那么打印出来的两个a列表的值是一样的,
因为此时a的头指针是没变的,变的只是a列表里面的参数指向
java和Python的底层都是虚拟机来执行的,都是调用的底层(memory allocator)。
java依赖于javam
1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)
打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失
因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。
在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。
2. python解释器执行py文件的原理 ,例如python test.py
第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器
第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中
第三阶段:python解释器解释执行刚刚加载到内存中test.py的代码
总结:
- python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样
- 与文本编辑器不一样的地方在于,python解释器不仅可以读文件内容,还可以执行文件内容