python tips(3)
来源:互联网 发布:一分钟心理学 知乎 编辑:程序博客网 时间:2024/06/05 21:07
1. 使用pywinauto自动化框架实现切换程序。
import win32com.clientfrom pywinauto import Applicationfrom time import sleep, timeapps = {'iexplore':'IEFrame', 'notepad':'Notepad'}lst = []for key:value in apps.items(): key = key + '_' key = Application.Connect(class_name = value) lst.append(key[value]) #print key #print key(value)for i in range(2): for obj in lst: obj.TypeKeys("{TAB}") sleep(.8)
2. python中当使用自身时:__name__ == __main__
被调用时:__name__ == 文件名(不含后缀名)
3. python多重赋值时先把右边都算出后再进行赋值。
4. python中的for循环可以带一个else子句,当循环正常结束时执行其内容,但如果是用break语句跳出的则不执行其内容。如下程序输出了10以内的素数。
for n in range(2, 10): for x in range(2, n): if n % x == 0: print n, 'equals', x, 'x', n/x else: print n, 'is a prime number'
输出结果为:
>>> 2 is a prime number3 is a prime number4 equals 2 x 24 is a prime number5 is a prime number6 equals 2 x 36 equals 3 x 26 is a prime number7 is a prime number8 equals 2 x 48 equals 4 x 28 is a prime number9 equals 3 x 39 is a prime number>>>
5. ''' ''' 包含起来的为docstring。可以用print打印出来。如下。
def M(): '''test docstring''' returnprint M.__doc__
输出结果为:
>>> test docstring>>>
6. python函数若形参表中有一个形为**name的形参,在调用时这个形参可以接收一个字典,字典中包含所有不与任何形参匹配的关键字参数,形参表中还可以使用一个特殊的形为*name的形参,它将接受所有不能匹配的位置参数组成的一个序表,*name只能在**name前出现(*name类似于*args,**name类似于**kw),在任意个数形参前可以由0到多个正常的参数。
7. Lambda语句被用来创建新的函数对象,并且在运行时返回它们。如下。
def make_repeater(n): return lambda s:s*ntwice = make_repeater(2)print twice('word')print twice(5)>>> wordword10>>>
这里使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用来创建函数对象,本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。
注意:即使是print语句也不能用在lambda形式中,只能使用表达式。
8. 列表 list []
序表 tuple
元组 () ->一旦生成,不可改变
字典 {}
python中不同类型的对象比较目前也是合法的,结果是确定的但是没有什么意义,不同类型是按类型的名字排序的,所以,列表(list)总是小于字符串(string),字符串总是小于序表(tuple),等等。但是程序中不能依赖这样的比较规则,语言实现可能会改变,不同的数值类型可以按数值来比较,所以0等于0.0,等等。
9. 使用"from 包 import 项"这样的格式时,导入的项可以是包的一个子模块(或子包),也可以是包内定义的其它名字如函数、类、变量。导入语句首先查找包内是否定义了所需的项,如果没有则假定它是一个模块然后调入,如果找不到,结果引发ImportError。
相反的,当使用"import item.subitem.subsubitem"这样的格式时,除最后一项可以是包也可以是模块,不允许是前面一项内部定义的类、函数或变量。
10. pickle是保存python对象并被其它程序或同一程序以后再运行时调用的标准方法,这种做法的专用术语叫做“持久对象”。
11. python中标准例外名是内置的标识符(不是保留关键字)。
12. python中try (raise) except finally与C#中try (throw) catch finally有区别。
python中finally子句不论try子句是否发生例外都会执行,例外发生时,先执行finally子句然后重新抛出该例外,当try语句用break或return语句退出时也将执行finally子句。
要注意的是,try语句不能同时拥有except子句和finally子句,需要的话可以嵌套。
13. python中的小错误:导出类和基类取相同的名字就可以使用基类的私有变量。
- python tips(3)
- python(3)methods & tips~
- python tips
- Python tips
- python tips
- Python Tips
- python tips
- python tips
- Python tips
- Python Tips
- Python Tips
- Python-Tips
- Python Tips
- Python Performance Tips, Part 2 - Python Performance 3 of n
- Python Tips & Tricks
- Python小tips
- Python Tips (1)
- Python Performance Tips
- Matlab:任意矩阵计算分布密度(海明距离的分布密度)
- 剑指offer:6-重建二叉树
- NSTimer中调用静态方法
- tomcat session管理总结
- hdu 1062 字符串处理
- python tips(3)
- 比特币介绍和投资分析
- VirtualBox虚拟机网络设置(四种方式)
- 利用sql语句随机抽取记录
- samba ldap
- Visual leak Detact 如何获取当前程序的堆栈
- 设计模式之享元模式
- Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
- 基于QT的小游戏-细菌病毒战