python属于解释性语言
计算机不能直接理解高级语言,需要将高级语言翻译成机器语言,翻译的方式有两种:编译和解释
编译就是事先把语言编译成可执行程序,也就是机器语言,这样运行过程中就不用翻译了
解释就是语言不需要编译,在运行过程中才翻译,每个语句都是执行的时候才翻译,这样没执行一次就翻译一次,效率比较低,也不能脱离解释器独自运行
另外一个方面就是语言的内存管理,无论是c的手工管理,还是java的垃圾回收,都成为一个重要的标志,Python通过应用对象计数,来实现自动回收垃圾
python 中可变对象类型: list, dict,set
不可变对象类型: int ,float,bool,str,byte,元祖
在这其中需要注意的是:
如果是可变类型进行赋值,比如 list1=list2 ,相当与两个列表指的是同一个内存区域,其中字典的键值必须是不可变类型,不可变对象是值传递,开辟新的内存
API:
str1.index(str2,beg=0,end=len(string) 返回str1中str2首字母所在的下标,从0开始
str1.endswith(str2,2,4) 从str1 下标2 到4 结束的字符串,是否以str2 结束,是的返回true 切片:
切片:
一个完成的切边表达式包含两个两个 “:” ,用于分隔单个三个参数(start_index:end_index:step),当只有一个“:” 默认第三个step=1
step 正负数均可,正表示从左往右取值,负表示从右往左取值
start_index 该参数省略时,表示从端点开始取值,step 决定从那头开始取值
end_index 该参数省略时,表示一直取值到端点。