一点python基础

python访问列表元素

python访问列表元素可以根据单个索引访问,可以使用切片访问连续的元素,但是当想访问列表的多个不连续的元素时,可以建立一个索引列表,然后使用如下的列表推导式。

list_1 = [1,2,3,4,5]
list_2 = [2,4]
list_3 = [list_1[i] for i in list_2]
或者使用 .index()函数

list_1 = [1,2,3,4,5]
list_2 = [2,4]
list_3 = [x for x in list_1 if list_1.index(x) in list_2]

python路径处理

os.path.split(filename) 分割文件夹和文件名(带后缀)
os.path.splitext(filename) 分割文件名和后缀

python字典操作

判断python字典中key是否存在的两种方法
第一种方法:使用自带函数实现。
在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。
eg:
## 生成一个字典 d = {'name':Tom, 'age':10, 'Tel':110}
## 打印返回值 print d.has_key('name')
## 结果返回True
第二种方法:使用in方法
复制代码
## 生成一个字典 d = {'name':Tom, 'age':10, 'Tel':110}
## 打印返回值,其中d.keys()是列出字典所有的key
print ‘name’ in d.keys()
print 'name' in d
## 两个的结果都是返回True

211217

python多进程

想要做一个工具面板,点击一个按钮运行一个python文件工具
直接exec虽然能运行但功能实现不正常,尤其是基于类写的程序
用popen等函数也是如此
用os.system函数可以正常运行,但会造成进程阻塞
subprocess也会阻塞
只有mulitiprocessing.Process创建新进程可以
不过在函数中使用多进程时会产生一个与主界面相同的界面,只有把新生成的界面关掉,才能出现目标界面。
把进程的创建放到if name == main函数就可以了。
然而我需要在点击按钮的时候才运行相应的进程,所以又引发另一个问题,tkinter控件调用函数时传入参数,搜索很容易知道command命令使用lambda函数调用相应的函数即可传入参数。


import os
os.system("python filename")
filename最好是全路径+文件名;
其他方法:
execfile('xx.py'),括号内为py文件路径;
如果需要传参数,就用os.system()那种方法;
如果还想获得这个文件的输出,那就得用os.popen();
a=np.arange(9).reshape(3,3) ## a是一个3*3的array
## array -<!--autointro-->

crash和impact差别

1、Crash:表示非主观因素而发生的动作,其后果是意想不到的。

2、impact:通常指两个或多个物体,特别是金属物发出刺耳声音或破裂声的撞击

这些名词均含“冲击,碰撞”之意。

shock : 指强烈冲击在肉体上或思想感情上所产生的效果。
impact : 正式用词,侧重指物体相撞的结果或接触点。
collision : 指物体相撞,其结果不是受损就是严重受阻。
clash : 通常指两个或多个物体,特别是金属物发出刺耳声音或破裂声的撞击。也可引申指意见、利益等的冲突。 share, participate
这两个动词均含有“分享,分担”之意。
share : 普通用词,指与他人共同享受拥有或共同使用某物,或共同承担某项工作或费用等。
participate : 主要指参与某事。

<!–autointro–>