首页技术文档Python › Python 核心教程(第二版)读书笔记(二)

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

数 字类型

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

  1. 有符号整形
  2. 长整形 (表示的数字仅受限于用户计算机的虚拟内存总数,可以无限长,只要虚拟内存足够大)
  3. 布尔型(True和False)
  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

2、importsys

sys.exit()

本站技术交流群:24735919,欢迎大家进群交流探讨!

发表评论