2011.11.1好日子,今天博客访问量超过1000了。 2012.01.29,访问量突破2000了. 2012.02.01,访问量突破3000了.继续进步

Dive into Python 学习笔记

上一篇 / 下一篇  2012-04-27 11:49:36 / 个人分类:自动化脚本

 
总体感觉,该书的很多实例讲解对比python的"cookbook"一书来说,稍微欠缺点易读性,同时归类的方式和"可爱的python"一书来说是一样的,但是整体来说适合有基础的人来阅读的书,不过此书还是算比较简单的.
 
以下只作为个人一些知识盲点的记录,没做很全的学习笔记.
 
l.append("new")是在list的末尾追加单个元素。
l.insert(2,"new")是在2的位置上插入一个值,且这个值是唯一的。
l.extend(["two","three"])用来连接2个list。
l.index("keyword")查询keyword的位置。
l.remove("z")删除元素z。
li= li + ['a','b']
li= ['1','2']*3 list可以用运算符。
 
append和extend的区别在于前一个插入的list为一个元素,后者则是插入的list有多少元素就多多少个元素。
tuple元组不能增加元素,不能删除元素,不能查询元素,可以用in查看元素在不在元组中。
tuple速度快,代码安全,同时可以在字典中做key.
 
type函数返回任意对象的数据类型,在types模块中列出了可能的数据类型,这对于处理多种数据类型的帮助者函数非常有用。
>>> type(1)
<type 'int'>
>>> li = []
>>> type(li)
<type 'list'>
 
info函数的核心是强大dir的函数。dir函数返回任意对象的属性和方法列表,包括模块对象,函数对象,字符串对象,列表对象,字典对象等。
>>> li = []
>>> dir(li) (1)
['append', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
>>> d = {}
>>> dir(d) (2)

['clear', 'copy', 'get', 'has_key', 'items', 'keys', 'setdefault', 'update', 'values']
列表的过滤功能。
>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
>>> [elem for elem in li if len(elem) > 1]
['mpilgrim', 'foo']
lambda是一个能够允许你快速定义单行的最小函数,用于写单行调用的函数。
>>> def f(x):
... return x*2
...
>>> f(3)
6
>>> g = lambda x: x*2 (1)
>>> g(3)
6
>>> (lambda x: x*2)(3) (2)
6
split不带参数用法
>>> s = "this is\na\ttest" (1)
>>> print s
this is
atest
>>> print s.split() (2)
['this', 'is', 'a', 'test']
>>> print " ".join(s.split()) (3)
'this is a test'
 
Python的类没有显示的构造函数和析构函数。它的类存在与构造函数相似的东西:__init__方法。
每个类方法的第一个参数,包括__init__,都是指向类的当前实例的引用。按照习惯这个参数总是被成为self。
在__init__方法中,self指向新创建的对象;在其他的类方法中,它指向方法被调用的类实例。
当定义你自己的类方法时,你必须明确将self作为每个方法的第一个参数列出,包括__init__.当从你的类中调用一个父类的一个方法时,

你必须包括self参数。但当你从类的外部调用你的类方法时,你不比对self参数指定任何值;
__init__方法是可选的,但是一旦你定义了,就必须记得显示调用父类的__init__方法。这样更是正确的:
无论何时子类想扩展父类的行为,后代方法必须在适当的时机,使用适当的参数,显示调用父类方法。
分割路径名

>>> os.path.split("c:\\music\\ap\\mahadeva.mp3") (1)
('c:\\music\\ap', 'mahadeva.mp3')
>>> (filepath, filename) = os.path.split("c:\\music\\ap\\mahadeva.mp3") (2)
>>> filepath (3)
'c:\\music\\ap'
>>> filename (4)
'mahadeva.mp3'
>>> (shortname, extension) = os.path.splitext(filename) (5)
>>> shortname
'mahadeva'
>>> extension
'.mp3'
 
列出目录
>>> os.listdir("c:\\music\\_singles\\") (1)
['a_time_long_forgotten_con.mp3', 'hellraiser.mp3',
'kairo.mp3', 'long_way_home1.mp3', 'sidewinder.mp3',
'spinning.mp3']
>>> dirname = "c:\\"
>>> os.listdir(dirname) (2)
['AUTOEXEC.BAT', 'boot.ini', 'CONFIG.SYS', 'cygwin',
'docbook', 'Documents and Settings', 'Incoming', 'Inetpub', 'IO.SYS',
'MSDOS.SYS', 'Music', 'NTDETECT.COM', 'ntldr', 'pagefile.sys',
'Program Files', 'Python20', 'RECYCLER',
'System Volume Information', 'TEMP', 'WINNT']

TAG:

__729的个人空间 引用 删除 dengwei729   /   2012-07-23 12:02:37
写的很好
我用python1年多了,这里边也有些不知道的,很惭愧啊
 

评分:0

我来说两句

acbennn

acbennn

站在云端看浮云,晕. CSDN的博客:http://blog.csdn.net/bullswu/article/details/6798437

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 60147
  • 日志数: 44
  • 建立时间: 2011-09-18
  • 更新时间: 2013-09-22

RSS订阅

Open Toolbar