您的位置:首页 > 编程语言 > Python开发

Python核心编程——第二章知识点总结

2010-07-21 23:16 141 查看
本文是对《Python核心编程》第二章知识点的总结。

[1] 介绍

[2] 输入/输出

[3] 注释

[4] 操作符

[5] 变量与赋值

[6] Python类型

[7] 缩进

[8] 循环与条件

[9] 文件

[10] 错误

[11] 函数

[12] 类

[13] 模块


介绍

[1]

主提示符 >>> 主提示符是解释器告诉你它在等待你输入下一个语句。

次提示符 ... 次提示符是解释器告诉你它在等待你输入当前语句的其它部分。

[2]

Python有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。

语句:是使用关键字来组成命令,类似告诉解释器一个命令。语句可以有输出,也可以没有输出。例如,print语句。

表达式:表达式没有关键字。它们可以是使用数学运算符构成的算术表达式,也可以是使用括号调用的函数。例如,abs()表达式。

输入/输出

[1]

通常当你想看变量内容时,可以在代码中使用print语句输出,显示变量的字符串表示,或者使用变量名查看该变量的原始值。

[2]

Python的print语句,与字符串格式运算符(%)结合使用,可实现字符串替换功能,和C语言的printf()函数相似。例如,%s表示由一个字符串来替换,%d表示由一个整数来替换,%f表示由一个浮点数来替换。Python非常灵活,所以即使你将数字传递给%s,也不会像其他要求严格的语言一样引发严重后果。

[3]

从Python2.0开始,print语句也支持将输出重定向到文件。例如,

# 将输出重定向到标准错误输出

import sys

print >> sys.stderr, 'Fatal error: invalid input!'

# 将输出重定向到日志文件

logfile=open('/tmp/mylog.txt', 'a')

print >> logfile, 'Fatal error: invalid input!'

logfile.close()

[4]

使用raw_input()内建函数从用户那里得到输入数据。内建函数int()可以将数值字符串转换成整数值。

注释

[1]

和大部分脚本及Unix-shell语言一样,Python也使用#符号标示注释。从#开始,直到一行结束的内容都是注释。

[2]

有一种叫做文档字符串的特别注释。你可以在模块、类或者函数的起始添加一个字符串,起到在线文档的功能。与普通注释不同,文档字符串可以在运行时访问,也可以用来自动生成文档。

操作符

[1]

加、减、乘、除和取余都是标准运算符。

[2]

Python有两种除法运算符:单斜杠用作传统除法;双斜杠用作浮点除法(对结果进行四舍五入)。

传统除法:是指如果两个操作数都是整数的话,它将执行是地板除(取比商小的最大整数)。

浮点除法:是真正的除法,不管操作数是什么类型,浮点除法总是执行真正的除法。

[3]

乘方运算符——双星号(**)

[4]

标准比较运算符

< <= > >= == != <>

Python目前支持两种“不等于”比较运算符,!=和<>,建议使用!=。

[5]

逻辑运算符

and or not

使用逻辑运算符可以将任意表达式连接在一起,并得到一个布尔值。

变量与赋值

[1]

Python中变量名规则与C语言相同。Python变量名是大小写敏感的。

[2]

Python是动态类型语言,也就是说不需要预先声明变量的类型。变量的类型和值在赋值那一刻被初始化。

[3]

Python支持增量赋值,例如,n=n*10等价于n*=10。

[4]

Python不支持C语言中的自增1和自减1运算符。Python会将--n认为是-(-n),从而得到n。

Python类型

[1] Python支持5种基本数字类型,其中有3中是整数类型。

int(有符号整数)

long(长整数)

bool(布尔值)

float(浮点值)

complex(复数)

[2]

Python中有两种有趣的类型是:长整型和复数类型。

注意:请不要将Python的长整数与C语言的长整数混淆。Python的长整数所能表达的范围远远超过C语言的长整数,事实上,Python长整数仅受限于用户计算机的虚拟内存总数。如果你熟悉Java,Python的长整数类似于Java中的BigInteger类型。

从长远来看,整形与长整形正在逐步统一为一种整数类型。从Python2.3开始,再也不会报整形溢出错误,结果会自动的被转换为长整数。在未来的版本中,两种整数类型将会无缝结合,长整数后缀“L”也会变得可有可无。

[3]

布尔值是特殊的整数。

尽管布尔值由常量True和False来表示,如果将布尔值放到一个数值上下文环境中(比方将True与一个数字相加),True会被当成整数值1,而False则会被当成整数值0。

[4]

复数(包括-1的平方根,即所谓的虚数)在其他语言中通常不被直接支持(一般通过类来实现)。

[5]

其实还有第6种数字类型,decimal,用于十进制浮点数。不过它并不是内建类型,必须要先导入decimal模块才可以使用这种数值类型。

[6]

字符串

Python中字符串被定义为引号之间的字符集合。Python支持使用成对的单引号或双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。

使用索引运算符([ ])和切片运算符([ : ])可以得到子字符串。

字符串有其特有的索引规则:第一个字符的索引是0,最后一个字符的索引是-1。

加号(+)用于字符串连接运算。

星号(*)用于字符串重复。

[7]

列表和元组

可以将列表和元组当成普通的“数组”,它能保存任意数量任意类型的Python对象。

列表元素用中括号([ ])包裹,元素的个数及元素的值可以改变。

元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只读列表。

[8]

字典

字典是Python中的映射数据类型,工作原理类似Perl中的关联数组或者哈希表,由键-值(key-value)对构成。

几乎所有类型的Python对象都可以用作健,不过一般还是以数字或者字符串最为常用。

值可以是任意类型的Python对象,字典元素用大括号({ })包裹。

缩进

[1]

代码块通过缩进对齐表达代码逻辑而不是使用大括号。

[2]

Python的两大特性:一是,简洁。 二是,可读性好。

循环与条件

[1]

if语句

[2]

while循环

[3]

for循环和range()内建函数

文件

[1]

handle=open(file_name, access_mode='r')

[2]

使用文件:

filename=raw_input('Enter file name: ')

fobj=open(filename, 'r')

for eachLine in fobj:

print eachLine,

fobj.close()

错误

[1]

try-except

[2]

raise引发一个异常

[3]

使用异常:

try:

filename=raw_input('Enter file name: ')

fobj=open(filename, 'r')

for eachLine in fobj:

print eachLine,

fobj.close()

except IOError, e:

print 'file open error:', e

函数

[1]

Python中的函数使用小括号(( ))调用。函数在调用之前必须先定义。

[2]

如果函数中没有return语句,就会自动返回None对象。

[3]

Python是通过引用调用的。这意味着:函数内对参数的改变会影响到原始对象。不过事实上,只有可变对象会受此影响。对不可变对象来说,它的行为类似按值调用。

[4]

默认参数

函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式提供。





模块

[1]

模块是一种组织形式,它将彼此有关系的Python代码组织到一个个独立文件当中。

[2]

模块可以包含可执行代码,函数和类或者这些东西的组合。

[3]

import module_name
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: