Fork me on GitHub Fork me on GitHub

Python核心编程读笔 2

第三章 python基础

一、语句和语法

  \n  标准的行分隔符

  \   继续上一行

  ;   将两个语句连接在一行

  :  分开代码块的头和体

  代码块以缩进块的形式体现

  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: \n" )    
    if os.path.exists(fname):                        #检查文件名是否有重复
        print "ERROR: '%s' already exists" % fname
    else:
        break

#get file content lines
all = []                                            #用一个列表来放输入的内容
print "\nEnter line('.' by itself to quit). \n"

#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

 

posted @ 2015-11-06 17:23  墨城烟雨  阅读(162)  评论(0编辑  收藏  举报