分类目录归档:Python

Python最性感十大操作


Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。

1. for - else

什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的。Python个性语法,for-else 绝对算得上南无湾!不信,请看:

>>...

阅读全文...

Python 读写 .ini 配置文件


config.ini

[config]
v1 = 100000000000
v2 = abcdefxxxxdafqrgqertqt
v3 = true
v4 = 123.45adsfq34t356uukigkgjjkg,

Python 读写 config.ini

import configparser

# 加载现有配置文件
conf = configparser.ConfigParser()
conf.read("config.ini")

'''
# 写入配置文件
conf.add_section('config') #添...

阅读全文...

python通过apply使用元祖和列表调用函数实例


本文实例讲述了python通过apply使用元祖和列表调用函数的方法。分享给大家供大家参考。具体实现方法如下:

def my_fuc(a, b):
  print a, b
atuple=(30,10)
alist= ['Hello','World!']
apply(my_fuc,atuple)
apply(my_fuc,alist)

运行结果如下:

30 10
Hello World!

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

阅读全文...

Python升级提示Tkinter模块找不到的解决方法


一、安装tkinter 在Linux中python默认是不安装Tkinter模块,

复制代码 代码如下:

[root@li250-193 ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import Tkinter
Traceback (most recent call las...

阅读全文...

python递归计算N!的方法


本文实例讲述了python递归计算N!的方法。分享给大家供大家参考。具体实现方法如下:

def factorial(n):
  if n == 0:
    return 1
  else:
    return n * factorial(n - 1)

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

阅读全文...

Python的类实例属性访问规则探讨


一般来说,在Python中,类实例属性的访问规则算是比较直观的。

但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。

在这里,我们需要明白以下几个地方:

1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。
2.一个类定义了一个作用域。
3.类实例也引入了一个作用域,这与相应类定义的作用域不同。
4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。
5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性。

下面看一...

阅读全文...

讲解Python中for循环下的索引变量的作用域


我们从一个测试开始。下面这个函数的功能是什么?

def foo(lst):
  a = 0
  for i in lst:
    a += i
  b = 1
  for t in lst:
    b *= i
  return a, b

如果你觉得它的功能是“计算lst中所有元素的和与积”,不要沮丧。通常很难发现这里的错误。如果在大堆真实的代码中发现了这个错误就非常厉害了。――当你不知道这是一个测试时,很难发现这个错误。

这里的错误是在第二个循环体中使用了i而不是t。等下,这到底是怎么工作的?i在第一个循环外应该是不可见的? [1]哦,不。事实上,Python正式声明过,为for循...

阅读全文...

在服务器端实现无间断部署Python应用的教程


当你开始着手部署应用时,最简单的方式莫过于使用管理员身份重启my_app或者所有服务,使产品升级至当前版本。开始的时候一切都很好,但是最终你会发现一旦应用启动以后,在重启期间去尝试连接会得到众多HTTP 503 错误。

最后你可能发现Gunicorn和uWSGI可以在不关闭套接字的情况下重新加载你的应用,这样在你的应用启动时,网络请求仅仅是被延时了一点点。只要你的应用不会花费很长时间在启动上,它就会工作的很好。不幸的是,现有的许多应用可能会花费1分钟的时间在启动上,对于等待在套接字上的链接来说,这太长了。

Gunicorn使用kill -HUP $PID,通过关闭所有工作进程,然后再启动...

阅读全文...

python thread 并发且顺序运行示例


复制代码 代码如下:

-- coding:utf-8 --

import threading
import time
def fun(name, ls_name, front_thread = None):
'''''
线程启动函数
通过front_thread来使用线程有序的运行
'''
time.clock()
time.sleep(2)

如果front_thread存在,则在front_thread运行完成后,才运行当前线程

if front_thread != None:
front_thread.join()
ls_name.append(name)
print "thread...

阅读全文...

python算法学习之桶排序算法实例(分块排序)


复制代码 代码如下:

-- coding: utf-8 --

def insertion_sort(A):
"""插入排序,作为桶排序的子排序"""
n = len(A)
if n <= 1:
return A
B = [] # 结果列表
for a in A:
i = len(B)
while i > 0 and B[i-1] > a:
i = i - 1
B.insert(i, a);
return B

def bucket_sort(A):
"""桶排序,伪码如下:
BUCKET-SORT(A)
1 n ← length[A] // 桶数
2 for i ← 1 ...

阅读全文...