首先下载最新版本的Python,在这里我的版本是Python3.1.1。然后就是安装,切换到Python的文件目录下:
./configure
make
make test
sudo make install
在这里可能会遇到几个问题,第一个是在./configure时,可能会出现C compiler cannot create executables,对于这个问题的解决,可以使用sudo apt-get install build-essential命令来解决。
还有一个问题是在安装完成后,使用Python命令来测试安装是否成功时,如果以前预装了Python2.6,仍然会显示旧有的版本。原因在于安装时没有设置--prefit,默认安装在/usr/local目录,/usr/bin文件仍然连接到原有的Python版本。解决方案是:
sudo rm /usr/bin/python
sudo ln /usr/local/python*
/usr/bin/python即可。
......
来源:http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
客户端程序代码:
# Client program
from socket import *
# Set the socket parameters
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)
# Create socket
UDPSock = socket(AF_INET,SOCK_DGRAM)
def_msg = "===Enter message to send to server===";
print "\n",def_msg
# Send messages
while (1):
data = raw_input('>> ')
if not data:
break
else:
if(UDPSock.sendto(data,addr)):
print "Sending message '",data,"'....."
# Close socket
UDPSock.close()
服务器端程序代码:
# Server program
from socket import *
# Set the socket parameters
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)
# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
# Receive messages
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
......
Python是一门简单的语言。对于一个问题,应该只有一个解决方法。在Python中,有三种流程控制方法:if-else、while和for。
首先,介绍if-else条件语句。if语句是用来根据表达式的真假来有选择的执行特定的程序块,控制程序的流程。用法同java等语言。对于else if,有一个elif的简写方式。
例如:
if x > 3:
print("greater")
elif x == 3:
print("eq")
else:
print("small")
接下来介绍while语句。while语句的作用是在条件表达式为真时,重复执行特定的程序块。
首先看一段示例程序,然后在给予说明:
x = int(input("enter a integer:"))
while x != -1:
print(x)
x = int(input("next number:"))
else:
print("end")
print('over')
& ......
Python中,函数是可被重用的程序段。对于函数的定义,可以使用def关键字。下面就先定义一个函数:
def foo():
print('function')
foo()
在上述代码中,定义了一个名为foo的函数,这个函数没有参数。最后一行代码的功能是调用这个函数。这是一个函数的最简单形式。下面来介绍一下有参数的函数:
def foo():
print('function')
def foo1(a,b):
print(a+b)
foo()
foo1(1,2)
foo1就是一个有参数的函数,使用foo1(1,2)就可以调用这个有参的函数了。
在程序中,有变量存在,就会涉及到变量的作用域的问题。在Python中,变量的作用域分三个等级:global、local和nonlocal。
global:顾名思义,表示全局变量。即这个变量在python中处于最高层次上,也就是这个变量的定义层次最高,而不是在函数或类中。
local:局部变量,被定义在函数之中。
nonlocal:这是一个相对的概念。在python中,函数内部可以嵌套定义内部函数,这样函数内部的变量相对于函数内部的内嵌函数来讲就是n ......
Python学习
基本内容
Python基本安装:
http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站;
http://www.activestate.com/ 集成多个有用插件的强大非官方版本,特别是针对Windows环境有不少改进;
Python文档:
http://www.python.org/doc/current/lib/lib.html Python库参考手册。
http://www.byteofpython.info/ 可以代替Tutorial使用,有中文译版的入门书籍。
http://diveintopython.org/ 一本比较全面易懂的入门书,中文版翻译最近进步为很及时的5.4了。
http://www.python.org/peps/pep-0008.html 建议采用的Python编码风格。
http://doc.zoomquiet.org/ 包括Python内容的一个挺全面的文档集。
常用插件:
http://www.pfdubois.com/numpy/ Python的数学运算库,有时候一些别的库也会调用里面的一些功能,比如数组什么的;
http://www.pythonware.com/products/pil/ Python下著名的图像处理库Pil;
http://simpy.sourceforge.net/ 利用Python进行仿真、模拟的解决方案;
Matplotlib 据说是一个用来绘制二维图形的Python模块,它克隆了许多M ......
Python
的
C/C++
扩展
By phidoit@gmail.com
可扩展性是
Python
的一大特色,一方面,由于
Python
是解释执行的,这导致运行速度会比编译型语言慢,因此可以通过使用
C/C++
重写核心部分代码以解决性能上的瓶颈
(
程序
90%
的时间再运行
10%
的代码
)
;另一方面,可以通过扩展,达到添加整合一些额外的功能以及保持专有源代码的目的。在本文接下来的部分中我们将讨论如何编写
C/C++
扩展代码,并使用它们的功能。
我们要建立的是一个可以在
Python
内运行的
C/C++
模块,因此需要解决如何使
C
代码和
Python
代码能够进行交互以及数据共享。扩展是通过为
C
代码编写包装函数
(
类似适配器
)
实现双向交互和数据共享的。
一.一般的包装模式
每一个包装函数主要做三件事:
1.
把输入的
Python
对象转换为
C/C++
对象;
2.
调用
C/C++
函数;
3.
转换
C/C++
函数处理的输出结果为
Python
对象,并返回;
先 ......
Python
的
C/C++
扩展
By phidoit@gmail.com
可扩展性是
Python
的一大特色,一方面,由于
Python
是解释执行的,这导致运行速度会比编译型语言慢,因此可以通过使用
C/C++
重写核心部分代码以解决性能上的瓶颈
(
程序
90%
的时间再运行
10%
的代码
)
;另一方面,可以通过扩展,达到添加整合一些额外的功能以及保持专有源代码的目的。在本文接下来的部分中我们将讨论如何编写
C/C++
扩展代码,并使用它们的功能。
我们要建立的是一个可以在
Python
内运行的
C/C++
模块,因此需要解决如何使
C
代码和
Python
代码能够进行交互以及数据共享。扩展是通过为
C
代码编写包装函数
(
类似适配器
)
实现双向交互和数据共享的。
一.一般的包装模式
每一个包装函数主要做三件事:
1.
把输入的
Python
对象转换为
C/C++
对象;
2.
调用
C/C++
函数;
3.
转换
C/C++
函数处理的输出结果为
Python
对象,并返回;
先 ......
Python
的
C/C++
扩展
By phidoit@gmail.com
可扩展性是
Python
的一大特色,一方面,由于
Python
是解释执行的,这导致运行速度会比编译型语言慢,因此可以通过使用
C/C++
重写核心部分代码以解决性能上的瓶颈
(
程序
90%
的时间再运行
10%
的代码
)
;另一方面,可以通过扩展,达到添加整合一些额外的功能以及保持专有源代码的目的。在本文接下来的部分中我们将讨论如何编写
C/C++
扩展代码,并使用它们的功能。
我们要建立的是一个可以在
Python
内运行的
C/C++
模块,因此需要解决如何使
C
代码和
Python
代码能够进行交互以及数据共享。扩展是通过为
C
代码编写包装函数
(
类似适配器
)
实现双向交互和数据共享的。
一.一般的包装模式
每一个包装函数主要做三件事:
1.
把输入的
Python
对象转换为
C/C++
对象;
2.
调用
C/C++
函数;
3.
转换
C/C++
函数处理的输出结果为
Python
对象,并返回;
先 ......