分类标签归档:Python

在Python中测试访问同一数据的竞争条件的方法


当你有多个进程或线程访问相同的数据时,竞争条件是一个威胁。本文探讨了在发现竞争条件后如何测试它们。

Incrmnt

你在一个名为“Incrmnt”的火热新创公司工作,该公司只做一件事情,并且做得比较好。

你展示一个全局计数器和一个加号,用户可以点击加号,此时计数器加一。这太简单了,而且容易使人上瘾。毫无疑问这就是接下来的大事情。

投资者们争先恐后的进入了董事会,但你有一个大问题。

竞争条件

在你的内测中,Abraham和Belinda是如此的兴奋,以至于每个人都点了100次加号按钮。你的服务器日志显示了200次请求,但计数器却显示为173。很明显,有一些请求没有被加上。

先将“Incrm...

阅读全文...

详解Python中用于计算指数的exp()方法


exp()方法返回指数x: ex.
语法

以下是exp()方法的语法:

import math

math.exp( x )

注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。
参数

  • x -- 这是一个数值表达式

返回值

此方法返回指数x: ex.
例子

下面的例子显示了exp()方法的使用。

#!/usr/bin/python
import math  # This will import math module

print "math.exp(-45.17) : ", math.exp(-45.17)
print "math...

阅读全文...

python实现超简单端口转发的方法


本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下:

代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。

复制代码 代码如下:

tcp server

import socket
host = '127.0.0.1' #Local Server IP
host2 = '127.0.0.1' #Real Server IP
port = 6001 #Local Server Port
port2 = 7001 #Real Server Port
def ProcData(data):
return data

add more code....

阅读全文...

新手该如何学python怎么学好python?


根据本人的学习经验,我总结了以下十点和大家分享:

1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。

2)下载完毕后,就可以开始学习了。学习过程中,我建议可以下载一些python的学习文档,比如《dive into python》,《OReilly - Learning Python》等等。通过学习语法,掌握python中的关键字语法,函数语法,数学表达式等等

3)学完了基本语法后,就可以进行互动式学习了。python具备很好的交互学习模式,对于书本上的例子我们...

阅读全文...

Python函数嵌套实例


在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);

类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用;

复制代码 代码如下:

def multiplier(factor):
... def multiple(number):
... return number * factor
... return multiple
...
multiplier(3)(3)
9
multiplier(4)(3)

与嵌套函数紧密相关的就是闭包特性,举一个简单的例子:...

阅读全文...

Python的函数的一些高阶特性


高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。
变量可以指向函数

以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:

>>> abs(-10)
10

但是,如果只写abs呢?

>>> abs
<built-in function abs>

可见,abs(-10)是函数调用,而abs是函数本身。

要获得函数调用结果,我们可以把结果赋值给变量:

>>> x = abs(-10)
>>> x
10

但是,如果把函数本身赋值...

阅读全文...

python静态方法实例


本文实例讲述了python静态方法。分享给大家供大家参考。

具体实现方法如下:

复制代码 代码如下:

staticmethod Found at: builtin
staticmethod(function) -> method

Convert a function to be a static method.

A static method does not receive an implicit first argument.
To declare a static method, use this idiom:

class C:
def f(arg1, arg2, ...):...

阅读全文...

python实现在sqlite动态创建表的方法


本文实例讲述了python实现在sqlite动态创建表的方法。分享给大家供大家参考。具体实现方法如下:

import sqlite3 as db
conn = db.connect('mytest.db')
cursor = conn.cursor()
cursor.execute("create table person(name text,age text,address text)")
print("table created")

希望本文所述对大家的Python程序设计有所帮助。

阅读全文...

python冒泡排序算法的实现代码


1.算法描述:
(1)共循环 n-1 次
(2)每次循环中,如果 前面的数大于后面的数,就交换
(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。

2.python冒泡排序代码

复制代码 代码如下:

!/usr/bin/python

-- coding: utf-8 --

def bubble(l):
flag = True
for i in range(len(l)-1, 0, -1):
if flag:
flag = False
for j in range(i):
if l[j] > l[j + 1]:
l[j], l[j+1] = l[j+1], l[j]
fl...

阅读全文...

详解Python中find()方法的使用


find()方法判断字符串str,如果起始索引beg和结束end索引能找到在字符串或字符串的一个子串中。
语法

以下是find()方法的语法:

str.find(str, beg=0 end=len(string))

参数

  • str -- 此选项指定要搜索的字符串。
  • beg -- 这是开始索引,默认情况下为 0。
  • end -- 这是结束索引,默认情况下它等于字符串的长度。

返回值

如果找到此方法返回的索引,否则返回-1。
例子

下面的例子显示了find()方法的使用。

#!/usr/bin/python

str1 = "this is string example....wow!!!...

阅读全文...