python学习笔记(一)


学习python已经有几天了,之前也接触过python,但是只知道这个名字,不知道其中的奥秘,现在开始python之旅,发现其简单而强大之处。希望能记录学习过程,之前两天看完《A Byte of Python》的中文版,名称叫《简明python》(相对英文版本有点老,但是没关系),强烈建议初学者能够先看完这本小册子,你会体会到很多乐趣,并且不会感到烦躁,因为很精简。你会翻到最后一页时,发出“这本书到结尾了?”的感慨!这本小册子里的学习心得就不写了,对于有其他语言基础的人来说,It is so easy!

本篇开始记录学习《Python核心编程 第二版》的心得或者学习笔记吧!希望能坚持看完和写完~


action

。。。

go


1、列表和元组的区别:

①列表元素由[]包裹,元素的个数和元素的值都可以改变;元组的元素由()包裹,不可以更改;

②元组可以看成只读的列表,可以通过切片运算得到子集。

列表操作:

>>>aList = [1, 2, 3, 4]

>>>aList

[1,2, 3, 4]

>>>aList[0]

1

>>>aList[2:]

[3,4]

>>>aList[:3]

[1,2, 3]

>>>aList[1] = 5

>>>aList

[1,5, 3, 4]

元组操作:

>>>aTuple = ('robots', 77, 93, 'try')

>>>aTuple

('robots',77, 93, 'try')

>>>aTuple[:3]

('robots',77, 93)

>>>aTuple[1] = 5

Traceback(innermost last):

File"", line 1, in ?

TypeError:object doesn't support item assignment



2、print语句会在每一行最后添加一个换行符,如果想使用for循环print出来的文本都放在一行,只需要在print语句的最后添加一个“,”(逗号):

print'I like to use the Internet for:'

foritem in ['e-mail', 'net-surfing', 'homework', 'chat']:

printitem,

print

加一句:print会自动带一个换行符,而sys.stdout.write()如果想换行,需要显示的调用“\n”,如sys.stdout.write(“hello\n”)

3、直接在命令行输入python时,操作会提示:

>>>foo='abc'

>>>for i in range(len(foo)):

...print foo[i], '(%d)' % i

File "", line 2

print foo[i], '(%d)' % i

^

IndentationError:expected an indented block

(当时认为print之前的那三个...已经为缩进了,所以没有按tab键,引起IndentationError错误)

下面是正确的执行:

>>>for i in range(len(foo)):

... print foo[i], '(%d)' %i

...

a(0)

b(1)

c(2)



4、列表解析:

>>>squared=[x**2 for x in range(4)]

>>>for i in squared:

... print i

...

0

1

4

9

再复杂点:

>>>squared=[x**2 for x in range(8) if not x%2 ]

>>>for i in squared:

... print i

...

0

4

16

36

说明:x**2,相当于x^2,如2^2=4,3^2=9


5、函数

函数定义格式:

deffunction_name([arguments]):#注意这个“:”一定要有

"optionaldocumentation string"

function_suite

由于python不想其他语言(c\c++\java)等,函数体是以{}包裹,而是以缩进(tab)确定的,所以一定要注意缩进!



6、类定义,暂时没有什么问题需要记录和说明

7、模块

导入模块:importmodule_name

这个个人理解类似于c++中的namespace,但是调用是不一样的

如何访问一个模块函数或者访问一个模块变量?可以通过下列方式:

module.function()

module.variable





评论关闭