现在的位置: 首页 > 综合 > 正文

Python核心教程(第二版)读书笔记(二)

2012年03月11日 ⁄ 综合 ⁄ 共 2314字 ⁄ 字号 评论关闭


数字类型

Python支持五种基本数字类型,其中三种是整形类型:

  1. 有符号整形

  2. 长整形 (表示的数字仅受限于用户计算机的虚拟内存总数,可以无限长,只要虚拟内存足够大)

  3. 布尔型(TrueFalse

  4. 浮点数型

  5. 复数(在其他语言中通常不被直接支持,一般通过类来实现)

字符串

Python的字符串被定义为引号之间的字符集合。

Python支持使用成对的单引号、双引号、三个单引号、三个双引号来包含字符。

使用索引操作符[]和切片操作符[:]可以得到子字符串

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

加号(+)用于字符串连接运算,乘号(*)用于字符串的重复。

 

列表和元组

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

可以通过从0开始的数字索引访问元素。

列表和元组可以存储不同类型的对象。

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

元组使用()小括号,元素的个数及元素的值不可以修改。

列表和元组都可以通过使用索引操作符[]和切片操作符[:]得到子集。

列表通过切片操作得到的是列表,元组通过切片操作后得到的还是元组。

 

字典

字典是Python中的映射数据类型。由键-(key-value)对构成的。几乎所有类型的Python对象都可以用作键。不过一般还是以数字或者字符串最为常用。值可以是任意类型的Python对象。

字典元素使用大括号{}包裹起来。

 

for循环

Python中的for循环与传统的for循环(计数器循环)不太一样。它更像Shell脚本里的foreach循环。Python中的for循环接受可迭代对象(例如:序列或迭代器)作为其参数,每次迭代其中一个元素。

Enumerate()函数可以同时循环索引和循环元素。

 

#coding=utf8
fori,ch in enumerate("abcddfgege"):
printch,
'%d' %i

 

 

结果为:

a0

b1

c2

d3

d4

f5

g6

e7

g8

e9

 

列表解析

可以在一行中使用一个for循环将所有值放在一个列表中。

举例:

OK =[x**2 for x in range(4)]
print OK #result: [0, 1, 4, 9]

 

 

列表解析甚至能做更复杂的事情,比如挑选出符合要求的值放入到列表中。

举例:

Good= [x**2 for x in range(10) if x!=2 and x!=5 ]
print Good #result: [0, 1, 9, 16,36, 49, 64, 81]

 

打开文件

handle= open(file_name,access_mode = ‘r’)

file_name变量是我们希望打开的文件的字符串名字。

Access_mode中,’r’表示读取,’w’表示写入,’a’表示添加

其它可能用到的标识还有’+’表示读写,’b’表示二进制访问。默认值为’r’

如果open()成功,一个文件对象句柄会被返回。所有后续的文件操作都必须通过此文件句柄进行。

 

函数

函数在调用之前必须先定义。如果函数中没有return语句,就会自动返回None对象。

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

 

类的定义方法:

class ClassName(base_class[es]):
“optionaldocumentation string”
static_member_declarations
method_declarations

使用class关键字定义类。

可以提供一个可选的父类或者说基类。如果没有合适到基类,那就使用object作为基类。

class行之后是可选的文档字符串、静态成员定义及方法定义。

 

Self.__class__.__name__

这个变量表示实例化它的类的名字。(self.__class__.__name__引用实际到类)

 

一个类的实例:

 

代码

#coding=utf8
class FooClass(object):
"""my very first class : FooClass"""
version
= 0.1

def __init__(self,nm="Jerry"):
"""constructor"""
self.name
= nm
print 'Created a class instance for',nm
def showname(self):
"""dislpay instance attribute and class name"""
print 'Your name is',self.name
print 'My name is',self.__class__.__name__
def showver(self):
"""display class(static) attribute"""
print self.version
def addMe2Me(self,x):
"""apply + operation to argument"""
return x+x

test
= FooClass('This is a test') #Created a class instance for This is a test
print test.version #0.1
print test.addMe2Me('Good') #GoodGood
print test.name #This is a test
test.showname() #Your name is This is a test
#My name is FooClass
test.showver() #0.1

 

 

Ubuntu下终端中退出Python解释器的方法:

1、使用快捷键ctrl+D

2importsys

      sys.exit()

 

抱歉!评论已关闭.