Python自学教程
2011年10月10日
面向对象:有编程经验的程序员(此处以C为例)
使用环境:Python 2.5
关于实例:所有例子均在python2.5 + ubuntu 9.04环境下测试通过
文章目的:快速入门Python,以入门为目的,熟练掌握需要练习(也仅仅是练习+使用手册)
摘要:
由于不同的编程语言间,说白了仅仅语法不同,思想大同小异,所以此文通过对语法的探析以及相应的实例,争取以最少的语言使读者快速掌握Python编程语言,以及如何使用这门语言。
正文:
废话不说,进入教程。
首先自然是hello world。
进入python环境,输入:
import os
print "hello world"
回车,见hello world,OK,你已经写出hello world了。
数据类型及表示
所有变量无需声明,直接使用,大小写敏感。当然你想声明也可以,无所谓。
数字表示:
一般整数(int):一般意义的数,包含8进制(以0开头),16进制(以0x开头)
长整数(long): 无限大小的数,在其末尾加入大写L或者小写l
浮点数(float): 小数,用E或e表示幂
复数(complex): 复数的虚部用j或者J结尾,如 c = 10+12j ,格式为 实部+虚部。(貌似跟常识一样)
字符串表示:
字符串可以由单引号(')、双引号(")、三引号包围('''),可以包含控制字符,类同C中的控制符,不多举例。
区别:单引号双引号只能表示一行,三引号包围的字符可以由多行组成,其中可以包含单双引号。
连接字符串:+,例子,"hello"+"world" = "helloworld"
重复字符串:*,例子,"hello"*2 = "hellohello"
其他操作,比如获取字符串长度,查找某字符某子串等等,这个跟C/C++一样,是内置的成员函数,查手册。
原始字符串:不想对字符串内的控制字符或者转义字符进行转换的时候,在字符串前加R或者r。
例子,c = r"c:\book"
列表和元组:
列表:以 [ ] 包围的数据集合,不同成员以 ‘ , ' 进行分隔,可包含任何数据类型,通过序号访问,从0开始。
元组:以 ( ) 包围的数据集合,不同成员以 ' , ' 进行分隔,可包含任何数据类型,通过序号访问,从0开始。
区别:列表可进行排序、添加、删除等操作,即元素可变。元组一经确立,不可改变,有点像const。
其他操作:以成员函数的形式存在,如追加成员,list.append()。
字典:
以 { } 包围的数据,每组以 ' : ' 分割key和value,组间以‘ , ' 进行分隔。
格式:{key1:value1 , key2:value2,..}
例子:c = {'orange':1,'apple':10}
访问:c['orange']
例程:
import os
c = {'orange':1,'apple':10}
print c['orange']
注意:字典内的key和value值可以是Python允许的任何类型。不限于字符串。
文件:
利用open打开文件对象,返回一个文件对象。
fp = open(filename , mode , bufsize)
mode = "w"(只写) "r" (只读) "b"(二进制)等等。操作都在文件对象fp内操作,见手册。
Python 运算符及优先级
运算符:
除逻辑运算符外,其他基本和C语言的都一样(位运算也一样),优先级也一样,只是多了下边几个:
** 乘方运算符,例子 c = x**2 等价于 c = x*x
// 整除运算符,也就是只取商,这不是注释符,注释符是 #
相等、不相等、大于、小于、不小于、不大于这些都和C一样。
and 逻辑与,类似与C的&&
or 逻辑或,类似与C的||
not 逻辑非,类似与C的!
用法一模一样。
优先级:
括号 > 乘方 > 乘=除=取余 > 加 = 减 > 位运算 > 逻辑
同级结合从左到右。
Python基本语句
Python 采取缩进的格式来表明语句的从属关系,相当于C语言里的 { }。要求只有一个:缩进的大小要统一,至于具体多大,随便,反正不能是0字符。语句结尾可以用分号,也可以不用,这个无所谓。最好不用。
if 语句:
格式:
if 条件:
语句1
语句2
...
elif 条件:
语句3
语句4
...
else :
语句5
语句6
...
就一点要注意的,格式里的冒号。
for 语句:
里边也有break,continue语句,和C的用法一样。
格式:
for 对象 in 对象集合:
语句1
语句2
...
else:
语句3
语句4
...
对于else的解释:如果for没有被break终止,则执行else里的语句。也就是说对象集合遍历完了。这个是可选的,没用过,不习惯。
例子,输出1到100:
for i in range(1,100):
print i
while 语句:
条件为假的时候退出,同样是可以使用break,continue语句的
格式:
while 条件:
语句1
语句2
...
else:
语句3
语句4
...
else 的解释:while不是以break结束时,执行else块内容。
例子:
import os
i = 3
while i:
print i
i -= 1
else:
print "this is else"
执行之后,显示结果是
3
2
1
this is else
明白了吧。
函数与模块
定义:
函数是语句的集合,模块是函数的集合。
函数:
格式:
def 函数名(参数1, 参数2, ..):
语句1
语句2
..
return 返回值
说明:参数不用声明类型,返回是可选的,函数不需要类型。参数用逗号分隔。
调用:
调用的时候保持和C语言一致是一个好的习惯,虽然Python支持很多的调用方式,
甚至是需要3个参数,不按顺序指定传也是合法的。
关于不定参数的用法是一个简单的高级话题,有兴趣的可以谷歌一下。
注意:
声明必须出现在调用之前
模块:
说白了,就是C的函数库(.h文件),只不过是多包含了函数的实现过程。用的时候直接 import 文件名,文件名是不包含后缀的。如:import mymodel
lambda表达式:
类似于C里的宏,用法如下:
宏名 = lambda 参数列表:表达式
例如:
fun = lambda x:x*x-x
fun(3)
附录:
python 下载地址:
http://www.python.org/download/releases/2.5.4/
python 作品展示:
http://www.python8.org/a/zuopinzhanshi/
2011年10月10日
面向对象:有编程经验的程序员(此处以C为例)
使用环境:Python 2.5
关于实例:所有例子均在python2.5 + ubuntu 9.04环境下测试通过
文章目的:快速入门Python,以入门为目的,熟练掌握需要练习(也仅仅是练习+使用手册)
摘要:
由于不同的编程语言间,说白了仅仅语法不同,思想大同小异,所以此文通过对语法的探析以及相应的实例,争取以最少的语言使读者快速掌握Python编程语言,以及如何使用这门语言。
正文:
废话不说,进入教程。
首先自然是hello world。
进入python环境,输入:
import os
print "hello world"
回车,见hello world,OK,你已经写出hello world了。
数据类型及表示
所有变量无需声明,直接使用,大小写敏感。当然你想声明也可以,无所谓。
数字表示:
一般整数(int):一般意义的数,包含8进制(以0开头),16进制(以0x开头)
长整数(long): 无限大小的数,在其末尾加入大写L或者小写l
浮点数(float): 小数,用E或e表示幂
复数(complex): 复数的虚部用j或者J结尾,如 c = 10+12j ,格式为 实部+虚部。(貌似跟常识一样)
字符串表示:
字符串可以由单引号(')、双引号(")、三引号包围('''),可以包含控制字符,类同C中的控制符,不多举例。
区别:单引号双引号只能表示一行,三引号包围的字符可以由多行组成,其中可以包含单双引号。
连接字符串:+,例子,"hello"+"world" = "helloworld"
重复字符串:*,例子,"hello"*2 = "hellohello"
其他操作,比如获取字符串长度,查找某字符某子串等等,这个跟C/C++一样,是内置的成员函数,查手册。
原始字符串:不想对字符串内的控制字符或者转义字符进行转换的时候,在字符串前加R或者r。
例子,c = r"c:\book"
列表和元组:
列表:以 [ ] 包围的数据集合,不同成员以 ‘ , ' 进行分隔,可包含任何数据类型,通过序号访问,从0开始。
元组:以 ( ) 包围的数据集合,不同成员以 ' , ' 进行分隔,可包含任何数据类型,通过序号访问,从0开始。
区别:列表可进行排序、添加、删除等操作,即元素可变。元组一经确立,不可改变,有点像const。
其他操作:以成员函数的形式存在,如追加成员,list.append()。
字典:
以 { } 包围的数据,每组以 ' : ' 分割key和value,组间以‘ , ' 进行分隔。
格式:{key1:value1 , key2:value2,..}
例子:c = {'orange':1,'apple':10}
访问:c['orange']
例程:
import os
c = {'orange':1,'apple':10}
print c['orange']
注意:字典内的key和value值可以是Python允许的任何类型。不限于字符串。
文件:
利用open打开文件对象,返回一个文件对象。
fp = open(filename , mode , bufsize)
mode = "w"(只写) "r" (只读) "b"(二进制)等等。操作都在文件对象fp内操作,见手册。
Python 运算符及优先级
运算符:
除逻辑运算符外,其他基本和C语言的都一样(位运算也一样),优先级也一样,只是多了下边几个:
** 乘方运算符,例子 c = x**2 等价于 c = x*x
// 整除运算符,也就是只取商,这不是注释符,注释符是 #
相等、不相等、大于、小于、不小于、不大于这些都和C一样。
and 逻辑与,类似与C的&&
or 逻辑或,类似与C的||
not 逻辑非,类似与C的!
用法一模一样。
优先级:
括号 > 乘方 > 乘=除=取余 > 加 = 减 > 位运算 > 逻辑
同级结合从左到右。
Python基本语句
Python 采取缩进的格式来表明语句的从属关系,相当于C语言里的 { }。要求只有一个:缩进的大小要统一,至于具体多大,随便,反正不能是0字符。语句结尾可以用分号,也可以不用,这个无所谓。最好不用。
if 语句:
格式:
if 条件:
语句1
语句2
...
elif 条件:
语句3
语句4
...
else :
语句5
语句6
...
就一点要注意的,格式里的冒号。
for 语句:
里边也有break,continue语句,和C的用法一样。
格式:
for 对象 in 对象集合:
语句1
语句2
...
else:
语句3
语句4
...
对于else的解释:如果for没有被break终止,则执行else里的语句。也就是说对象集合遍历完了。这个是可选的,没用过,不习惯。
例子,输出1到100:
for i in range(1,100):
print i
while 语句:
条件为假的时候退出,同样是可以使用break,continue语句的
格式:
while 条件:
语句1
语句2
...
else:
语句3
语句4
...
else 的解释:while不是以break结束时,执行else块内容。
例子:
import os
i = 3
while i:
print i
i -= 1
else:
print "this is else"
执行之后,显示结果是
3
2
1
this is else
明白了吧。
函数与模块
定义:
函数是语句的集合,模块是函数的集合。
函数:
格式:
def 函数名(参数1, 参数2, ..):
语句1
语句2
..
return 返回值
说明:参数不用声明类型,返回是可选的,函数不需要类型。参数用逗号分隔。
调用:
调用的时候保持和C语言一致是一个好的习惯,虽然Python支持很多的调用方式,
甚至是需要3个参数,不按顺序指定传也是合法的。
关于不定参数的用法是一个简单的高级话题,有兴趣的可以谷歌一下。
注意:
声明必须出现在调用之前
模块:
说白了,就是C的函数库(.h文件),只不过是多包含了函数的实现过程。用的时候直接 import 文件名,文件名是不包含后缀的。如:import mymodel
lambda表达式:
类似于C里的宏,用法如下:
宏名 = lambda 参数列表:表达式
例如:
fun = lambda x:x*x-x
fun(3)
附录:
python 下载地址:
http://www.python.org/download/releases/2.5.4/
python 作品展示:
http://www.python8.org/a/zuopinzhanshi/