一.先聊下python的运行过程
计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到(然后通过比较确认是否为最新),则直接载入,否则就重复上面的过程。所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。
二.数据类型基本操作
1.数字
int -- 整形
float -- 浮点型
complex -- 复数
2.布尔值
真或假
1 或 0
True 或 False
3.列表
1.创建列表方法:
1 #!/bin/env python
2 #-*- coding:utf-8 -*-
3
4 name = ["jack","stove","janny"]5
6 ###或者
7
8 name = list(["jack","stove","janny"])
2.列表基本操作:
切片(取出多个值):
name[0:2] #取出从下标为0 到下标为2的所有值 (包含前面不包含后面)
name[-5:-1] #取出后四个(不包含最后)
name[-5:] #取出最后五个值
name[0:6:2] #最后值 2 为步长
修改值
name[2] = "LiMing" #直接修改下标为2的元素的值
name.insert(2,'liMing') #用insert方法来添加将值插入到下标为2的位置
name.append("WangMeiei") #追加值
删除值
name.remove("LiMing") #直接写入要 删除的值
##del为python全局功能 也可以删除包括字符串等其他类型
del name[1] #删除下标为1的元素
del name[1:3] #删除下标从1到3的值(不包括最后)
判断元素是否在内
#in 判断元素是否存在在列表中
name= ["abc","bbb","ccc","","ddd"]if "abc" inname:print("abc")else:print("err")
统计元素的个数:
#name.count("abc") #统计元素 abc在列表中出现的次数
列表索引:
#name.index("abc") #打印出元素9的索引
count和index的结合使用小实例:
num_list = [1,2,3,44,55,24,56,357,9,432,9,5,555,9,22,9,345,34,34,34,34,1111111,34]print(num_list)
num_9= num_list.count(9)print(num_9)for i inrange(num_9):
in_num= num_list.index(9)
num_list[in_num]= 99999
print(num_list)
num_34= num_list.count(34)print(num_34)for i inrange(num_34):
in_num_34= num_list.index(34)delnum_list[in_num_34]print(num_list)
显示如下:
[1, 2, 3, 44, 55, 24, 56, 357, 9, 432, 9, 5, 555, 9, 22, 9, 345, 34, 34, 34, 34, 1111111, 34]4[1, 2, 3, 44, 55, 24, 56, 357, 99999, 432, 99999, 5, 555, 99999, 22, 99999, 345, 34, 34, 34, 34, 1111111, 34]5[1, 2, 3, 44, 55, 24, 56, 357, 99999, 432, 99999, 5, 555, 99999, 22, 99999, 345, 1111111]
Process finished with exit code 0
列表追加(追加新列表)
#extend
name = ["aaa","bbb","ccc"]
name2= ["ddd","eee","fff"]
name.extend(name2)print(name)###显示如下:
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']
Process finished with exit code 0
列表翻转:
name = ["aaa","bbb","ccc"]
name2= ["ddd","eee","fff"]
name.reverse()print(name)##显示如下:
['ccc', 'bbb', 'aaa']
Process finished with exit code 0
列表排序:
name = ["bbb","aaa","ccc"]
name.sort()print(na