Python核心教程(第二版)读书笔记(二)
数字类型
Python支持五种基本数字类型,其中三种是整形类型:
-
有符号整形
-
长整形 (表示的数字仅受限于用户计算机的虚拟内存总数,可以无限长,只要虚拟内存足够大)
-
布尔型(True和False)
-
浮点数型
-
复数(在其他语言中通常不被直接支持,一般通过类来实现)
字符串
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
可以提供一个可选的父类或者说基类。如果没有合适到基类,那就使用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
2、importsys
sys.exit()