第三章 python基础
一、语句和语法
标准的行分隔符
继续上一行
; 将两个语句连接在一行
: 分开代码块的头和体
代码块以缩进块的形式体现
python文件以模块的形式组织
二、变量赋值
注意:python中对象是通过引用传递的!
python不支持++x等前置/后置的自增/自减运算符
多元赋值:将多个变量同时赋值
>>>x,y,z = 1,2,'string' #其实多元赋值的=两边都是元组
或者写成:
>>>(x,y,z) = ( 1, 2, 'string' ) 这样更清晰
用多元赋值的方式实现无需中间变量交换两个变量的值:
>>>x,y = 1,2
>>>x,y = y,x
三、标识符
四、基本风格
一个典型的python文件结构如下图所示:
__name__指示模块应如何被加载:
若模块是被导入,__name__的值为模块的名字;
若模块是被直接执行,__name__的值为'__main__'
五、内存管理
python变量无需事先声明、无需指定类型;
内存管理由python解释器进行,程序员无需关心内存管理;
python使用引用计数进行内存管理;
del能够直接释放资源
del x会产生两个作用:
从现在的名字空间中删除x
x的引用计数减一
六、第一个python程序
#-*- coding: utf-8 -*- #coding=utf-8 #加这两行的目的是为了后面加中文注释,否则写中文注释,在cmd下运行.py文件时会报错 'makeTextFile.py---create text file' import os ls = os.linesep #os.linesep具有平台独立性质,自动获得你当前平台下的换行符 #get filename while True: fname = raw_input( "Enter the filename: " ) if os.path.exists(fname): #检查文件名是否有重复 print "ERROR: '%s' already exists" % fname else: break #get file content lines all = [] #用一个列表来放输入的内容 print " Enter line('.' by itself to quit). " #loop until user terminates input while True: entry = raw_input( '>' ) if entry=='.': break; else: all.append( entry ) #把每一行都添加到列表中去 #write lines to file with proper line-ending fobj = open( fname, 'w' ) #打开文件准备写入 fobj.writelines( ['%s%s' % (x,ls) for x in all] ) #逐行写到文件中去 fobj.close() print 'DONE!'
特别注意:
#-*- coding: utf-8 -*- #coding=utf-8
加这两行的目的是为了后面加中文注释,否则写中文注释,在cmd下运行.py文件时会报错
七、相关模块和开发工具
Debugger:pdb
Logger:logging
Profilers:profile,hotshot,cProfile