《Python核心编程》第1~2章笔记

  • A+
Categories:Python

函数abs()接受一个数值输入,然后输出这个数值的绝对值
通常当你想看变量内容时,你会在代码中使用print语句输出。不过在交互式解释器中,你可以用print语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。
下划线(_)在解释器中有特别的含义,表示最后一个表达式的值。
>>> print “%s %d %s” % (“Python”,1,11.1)
Python 1 11.1
%s表示由一个字符串来替换;%d表示有一个整型来替换;%f表示有一个浮点型来替换
>>> import sys
>>> print >> sys.stderr, ‘Fatal error: invalid input!’
Fatal error: invalid input!

>>> logfile = open(‘/tmp/mylog.txt’,'a’)
>>> print >> logfile, ‘Fatal error: invalid input!’
>>> logfile.close()

>>> user = raw_input(‘Enter login name:’)
Enter login name:root
>>> print ‘Your login is:’,user
Your login is: root

>>> num = raw_input(‘Now enter a number:’)
Now enter a number:1024
>>> print ‘Doubling your number: %d’ %(int(num)*2)
Doubling your number: 2048
内建函数int()将数值字符串转成整型值

从交互式解释器中获得帮助help()
如获取int()函数的帮助:help(int)

操作符
+ – * / // % **
加、减、乘、除和取余都是标准操作符。Python有两种除法操作符,单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。双星号(**)是乘方操作符。

标准比较运算符
< <= > >= == != <>

逻辑运算符
and or not

变量和赋值
Python是动态类型语言,不需要预先声明变量的类型
Python不支持C语言中的自增1和自减1操作符,因为+和-也是单目操作符,Python会将–n解释为-(-n)从而得到n,同样++n的结果也是n。

if语句
Python与其他语言不同,条件不需要用括号括起来
if expression:
if_suite

while循环
while expression:
while_suite

for循环和range()内建函数
>>> for item in ['e-mail','net-surfing','homework','chat']:
… print item,

e-mail net-surfing homework chat
print语句的最后添加一个逗号(,),输出的元素之间会自动添加一个空格,默认输出一个换行符

range()函数经常和len()函数一起用于字符串索引。如下:
>>> foo=’abc’
>>> for i in range(len(foo)):
… print foo[i],’(%d)’ % i

a (0)
b (1)
c (2)
不过这些循环有一个约束,你要么循环索引,要么循环元素,enumerate()可以同时做到这两点

列表解析
>>> squared=[x**2 for x in range(5) if not x%2]
>>> for i in squared:
… print i

0
4
16

文件和内建函数open()、file()
如何打开文件
handle = open(file_name, access_mode = ‘r’)
file_name变量包含我们希望打开的文件的字符串名字,access_mode中’r'表示读取,’w'表示写入,’a'表示添加。其他可能用到的
标示还有’+'表示读写,’b'表示二进制访问。如果未提供access_mode,默认值为’r'。如果open()成功,一个文件对象句柄会被返回。
所有后续的文件操作都必须通过此问卷句柄进行。当一个文件对象返回之后,我们就可以访问它的一些方法,比如readlines()和close()。文件
对象的方法属性也必须通过句点属性标识访问。

什么是属性?
属性是与数据有关的项目。属性可以是简单的数据值,也可以是执行对象,比如函数和方法。那些对象拥有属性呢?很多,如:类、模块、文件和复数等对象都有属
性。我们如何访问对象属性?使用句点属性标识法。也就是说在对象名和属性名之间夹一个句点(.):object.attribute

函数
def function_name([arguments]):
“optional documentation string”
function_suite
定义一个函数的语法由def关键词及紧跟其后的函数名,再加上该函数需要的几个参数组成。函数参数是可选的,这个语句由一个冒号(:)结束,之后是代表函数体的代码组


class ClassName(base_class[es]):
“optional documentation string”
static_member_declarations
method_declarations
使用class关键字定义类。可以提供一个可选的父亲或者说基类;如果没有合适的基类,那就使用boject作为基类。class行之后是可选的文档字符串、静态成员定义及方法定义。

模块
模块事一种组织形式,它将彼此有关系的Python代码组织到一个个独立文件当中。模块可以包含可执行代码、函数和类,或这些东西的组合。
导入模块
import module_name

什么是”PEP”?
Python增强提案(Python Enhancement Proposal)

实用的函数
dir([obj]) 显示对象的属性,如果没有提供参数,则显示全局变量的名字
help([obj]) 以一种整齐美观的形式,显示对象的文档字符串,如果没有提供任何参数,则会进入交互式帮助
int(obj) 将一个对象转换为整型
len(obj) 返回对象的长度
open(filename,mode) 以mode(‘r’=read, ‘w’=write)方式打开一个文件名为filename的文件
range([start,]stop[,step]) 返回一个整型列表。起始值为start,结束值为stop-1,start默认值为0,step默认值为1
raw_input(str) 等待用户输入一个字符串,可以提供一个可选的参数str用作提示信息
str(obj) 将一个对象转换为字符串
type(obj) 返回对象的类型(返回值本身是一个type对象)

Thu Mar 14 16:37:51 CST 2013

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: