闲逸笔记

keep it simple & stupid

Python 之参数传递与变量赋值

这两天在翻看《改善Python程序的91个建议》,里面讲到了关于参数传递的细节。感觉讲的有些复杂了,总结下自己的理解。

基本结论

  • Python 中一切皆是 object,参数传递的都是 object 的地址。

  • 不仅参数传递,变量赋值亦是如此。

特殊情况

  • 不可变对象(数字、字符串、tuple,都属于 immutable 的对象),对指向他们的变量进行修改的时候,是创建新的对象然后赋值的。

    a = 100
    print id(a)   # 24947172 ...
    
▼  展开全文... 评论(0)
Python WSGI 接口的理解与实现

WSGI(Web Server Gateway Interface) 是为了规范 多种 Python 应用程序、框架多种 Web 服务器 之间进行可移植交互而制定的一套标准。

通过 WSGI 接口,一方面与框架端进行交互,按规范(a callable object ...

▼  展开全文... 评论(0)
Python 装饰器 Decorator 工作原理分析

1). Decorator 函数的定义

  • 定义一个 demo_decorator,以及一个被它装饰的函数 demo_function。

    def demo_decorator(*args, **kwargs):
        print ">>>> ", str(demo_decorator), " == start ==", args, kwargs
    
        def handle_func(func):
            print "===> ", str(handle_func), str(func)
    
            def handle_args(*args, **kwargs):
                print ...
    
▼  展开全文... 评论(0)
Python + Selenium 做 Web UI 自动化测试时上传、下载文件对话框的操作

Selenium 是基于 JavaScript 的库,对于浏览器弹出的上传、下载文件对话框不支持。但在 Windows 操作系统中,可以通过 PyWin32 库操作对话框。

当然,对于 <input type="file" />控件,直接通过 send_keys() 即可上传。

1. 安装相关库

因为有 Windows 系统相关的交互,通过 PIP 难以安装。直接下载 exe 可执行程序进行安装。

  • PyWin32 ...
▼  展开全文... 评论(4)
Python + Selenium Web UI 自动化测试框架 Knitter

1). 简介

这个框架是自己多年自动化测试的一个总结。整个设计的思想最初在 QTP 上实践,后来在 Python 环境中使用 Selenium 完整实现。由于自身的懒惰,直到最近才写了下大致的文档,并发布到 GitHub 及 PyPI 中。

名字叫 Knitter,只是随手起的,方便管理而已。开源,BSD License。

2). 设计思想

  • 页面元素识别、页面元素操作、测试用例设计 ...
▼  展开全文... 评论(54)
Django 配置支持 Markdown 语法

Django 曾经支持 Markdown,但在 1.6 版本中去掉了。虽然有第三方开发的如 Django-Markdown 等插件支持,但其实最简单的办法是自己直接做一个。同时也更便于测试、调试。

目前 Python 的 Markdown 库有两个,Markdown 和 [Markdown2](https://pypi.python ...

▼  展开全文... 评论(1)
top bottom