Python服务器开发一:python基础
2014-12-18 16:25
344 查看
Python服务器开发一:python基础
Python(蟒蛇)是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。【特点】1 Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。2 Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。3 Python代码块使用空格或制表符缩进的方式分隔代码。4 Python仅有31个保留字,而且没有分号、begin、end等标记。5 Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。 【搭建开发环境】1 可以到www.python.org下载安装包,然后通过configure、make、make install进行安装。2 也可以到www.activestate.com去下载ActivePython组件包。(ActivePython是对Python核心和常用模块的二进制包装,它是ActiveState公司发布的Python开发环境。ActivePython使得Python的安装更加容易,并且可以应用在各种操作系统上。ActivePython包含了一些常用的Python扩展,以及Windows环境的编程接口)。对ActivePython来说,如果你是windows用户,下载msi包安装即可;如果你是Unix用户,下载tar.gz包直接解压即可。3 Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus 【hello world】1 创建hello.py2 编写程序:if __name__ == '__main__': print "hello world"3 运行程序:python ./hello.py 【注释】1 无论是行注释还是段注释,均以#加一个空格来注释。2 如果需要在代码中使用中文注释,必须在python文件的最前面加上如下注释说明:
# -* - coding: UTF-8 -* -3 如下注释用于指定解释器
#! /usr/bin/python【文件类型】1 Python的文件类型分为3种,即源代码、字节代码和优化代码。这些都可以直接运行,不需要进行编译或连接。2 源代码以.py为扩展名,由python来负责解释;3 源文件经过编译后生成扩展名为.pyc的文件,即编译过的字节文件。这种文件不能使用文本编辑器修改。pyc文件是和平台无关的,可以在大部分操作系统上运行。如下语句可以用来产生pyc文件:
import py_compile py_compile.compile(‘hello.py’)4 经过优化的源文件会以.pyo为后缀,即优化代码。它也不能直接用文本编辑器修改,如下命令可用来生成pyo文件:
python -O -m py_complie hello.py【变量】1 python中的变量不需要声明,变量的赋值操作即使变量声明和定义的过程。2 python中一次新的赋值,将创建一个新的变量。即使变量的名称相同,变量的标识并不相同。用id()函数可以获取变量标识:
x = 1 print id(x) x = 2 print id(x)3 如果变量没有赋值,则python认为该变量不存在4 在函数之外定义的变量都可以称为全局变量。全局变量可以被文件内部的任何函数和外部文件访问。5 全局变量建议在文件的开头定义。6 也可以把全局变量放到一个专门的文件中,然后通过import来引用:gl.py文件中内容如下:
_a = 1 _b = 2use_global.py中引用全局变量:
import gl def fun(): print gl._a print gl._b fun()【常量】python中没有提供定义常量的保留字。可以自己定义一个常量类来实现常量的功能。
if (表达式) : 语句1 else : 语句22 条件语句:
if (表达式) : 语句1 elif (表达式) : 语句2 … elif (表达式) : 语句n else : 语句m3 条件嵌套:
if (表达式1) : if (表达式2) : 语句1 elif (表达式3) : 语句2 … else: 语句3 elif (表达式n) : … else : …4 python本身没有switch语句。5 循环语句:
while(表达式) : … else : …6 循环语句:
for 变量 in 集合 : … else : …7 python不支持类似c的for(i=0;i<5;i++)这样的循环语句,但可以借助range模拟:
for x in range(0,5,2): print x【数组相关】1 元组(tuple):python中一种内置的数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元素。元组是写保护的,即元组创建之后不能再修改。元组往往代表一行数据,而元组中的元素代表不同的数据项。可以把元组看做不可修改的数组。创建元组示例如下:
tuple_name=(“apple”,”banana”,”grape”,”orange”)
2 列表(list):列表和元组相似,也由一组元素组成,列表可以实现添加、删除和查找操作,元素的值可以被修改。列表是传统意义上的数组。列表创建示例如下:
list_name=[“apple”,”banana”,”grage”,”orange”]注意:列表和元组的区别一个是中括号,一个是小括号,字典用大括号。可以使用append方法来在尾部追加元素,使用remove来删除元素。3 字典(dictionary):由键-值对组成的集合,字典中的值通过键来引用。键和值之间用冒号隔开,键-值对之间用逗号隔开,并且被包含在一对花括号中。创建示例如下:
dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}4 序列:序列是具有索引和切片能力的集合。元组、列表和字符串都属于序列。 【函数相关】1 python程序由包(package)、模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。2 包就是一个完成特定任务的工具箱。3 包必须含有一个__init__.py文件,它用于标识当前文件夹是一个包。4 python的程序是由一个个模块组成的。模块把一组相关的函数或代码组织到一个文件中,一个文件即是一个模块。模块由代码、函数和类组成。导入模块使用import语句。5 包的作用是实现程序的重用。6 函数是一段可以重复多次调用的代码,函数定义示例如下:
def arithmetic(x,y,operator): result={ “+”:x+y, “-“:x-y, “*”:x*y, “/”:x/y }7 函数返回值可以用return来控制。8、python内置函数: http://docs.python.org/2/library/functions.html#built-in-funcs 9、the Python Package Index https://pypi.python.org/pypi https://pypi.python.org/pypi?%3Aaction=browse【字符串相关】1 格式化输出:
format=”%s%d” % (str1,num) print format2 用+进行字符串的合并:
str1=”hello” str2=”world” result=str1+str23 字符串截取可以通过索引/切片,也可以通过split函数。4 通过切片截取字符串:
word=”world” print word[0:3]5 python使用==和!=来进行字符串比较。如果比较的两个变量的类型不相同,那么结果必然为不同。【文件处理】1 简单处理文件:
context=”hello,world” f=file(“hello.txt”,’w’) f.write(context); f.close()2 读取文件可以使用readline()函数、readlines()函数和read函数。3 写入文件可以使用write()、writelines()函数 【对象和类】1 python用class保留字来定义一个类,类名的首字符要大写。定义类示例:
class Fruit: def grow(self): print “Fruit grow”2 当一个对象被创建后,包含了三方面的特性,即对象的句柄、属性和方法。创建对象的方法:
fruit = Fruit() fruit.grow()3 python没有保护类型的修饰符4 类的方法也分为公有方法和私有方法。私有函数不能被该类之外的函数调用,私有的方法也不能被外部的类或函数调用。5 python使用函数”staticmethod()“或”@ staticmethod“指令的方法把普通的函数转换为静态方法。静态方法相当于全局函数。6 python的构造函数名为__init__,析构函数名为__del__7 继承的使用方法:
class Apple(Fruit): def …【连接mysql】1 用MySQLdb模块操作MySQL数据库非常方便。示例代码如下:
import os, sys import MySQLdb try: conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’ except Exception,e: print e sys.exit() cursor=conn.cursor() sql=’insert into address(name, address) values(%s, %s)’ value=((“zhangsan”,”haidian”),(“lisi”,”haidian”)) try cursor.executemany(sql,values) except Exception, e: print e sql=”select * from address” cursor.execute(sql) data=cursor.fetchall() if data for x in data: print x[0],x[1] cursor.close() conn.close()【构建virtual Python environments】virtual Python environments用于测试Python package来找到适合你的需求的第三方包,避免在系统里安装没用的包。用pip安装:
pip install virtualenv使用:
virtualenv ENV将在用户个目录创建一个ENV文件夹,此后所有安装的包将会安装在ENV/lib/pythonX.X/site-packages目录,取消使用virtualenv:
virtualenv --distribute ENV为了方便,可以改变$PATH到 virtualenv的 bin/目录
source bin/activate deactivate //取消
【安装pip包管理器】
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py $ [sudo] python get-pip.py
相关文章推荐
- Python服务器开发二:Python网络基础
- [LINK]Python服务器开发一:python基础
- Python服务器开发一:python基础
- Python服务器开发二:Python网络基础
- Python基础教程1--搭建Python开发环境
- Java服务器开发基础知识select、poll、epoll iocp, kqueue
- 【Python开发web】(3) -- Python基础之一
- 【Python开发web】(3) -- Python基础之一
- python高级进阶篇——FTP服务器开发简述
- 用python快速开发一个实用的socket服务器
- Python服务器开发(1)
- asp.net控件开发基础(16) --------服务器模板控件
- [转] 适用于 PHP 开发人员的 Python 基础知识
- 用PYTHON快速开发一个实用的SOCKET服务器【转】
- 开发服务器之升级到Python2.7
- Java服务器开发基础知识select、poll、epoll iocp, kqueue
- 用Java实现FTP服务器-Java基础-Java-编程开发
- asp.net控件开发基础(14) --------服务器控件生成器
- 【Python开发web】(4) -- Python基础之中文字符
- Python&Flash开发斗兽棋---2.网络基础