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
Python核心编程读笔 2的更多相关文章
- Python核心编程读笔 12:OOP
第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...
- Python核心编程读笔 10:函数和函数式编程
第11章 函数和函数式编程 一 调用函数 1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...
- Python核心编程读笔 1
第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...
- Python核心编程读笔 13:执行环境
第14章 执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...
- Python核心编程读笔 11:模块
第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...
- Python核心编程读笔 8: 文件和输入输出
第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...
- Python核心编程读笔 7: 条件和循环
第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...
- Python核心编程读笔 6: 映射和集合类型
第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...
- Python核心编程读笔 5: python的序列
第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...
- Python核心编程读笔 4
第五章 数字 二.整形 1 布尔型 2 标准整数类型 3 长整型 数字后面加L,能表示非常非常大的数字 目前,整形和长整型逐渐统一!!! 三.双精度浮点数 四.复数 有关复数的几个概念: 表示虚数的语 ...
随机推荐
- poj 3026 (最小生成树)
题意:起点开始有超过100个人,总共不会超过100个外星人,问把所有的外星人都搜出来花的最小时间.一条路径上的时间跟人数是无关的,只跟路径长度有关. 思路:刚开始人都在起点,当派一定人数去最近的外星人 ...
- NVelocity模板引擎学习笔记
NVelocity模板引擎学习笔记 学习模板引擎有一段时间现在做一些总结
- javascript中的同源策略
如果两个页面拥有相同的协议(protocol),端口(如果指定),和主机,那么这两个页面就是属于同一个源 览器有一个很重要的概念——同源策略(Same-Origin Policy).所谓同源是指,域名 ...
- 02js高级Function
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Apache Tiles 2.x 应用指南(转)
转自:http://jaymsimusic.iteye.com/blog/1138906 Apache Tiles 2.x 应用指南 博客分类: Apache Tiles Jakarta Tile ...
- box-shadow 给图片添加内部阴影
box-shadow 是css3中定义的设置元素阴影的属性,其语法结构如下: <shadow> = inset? && <length>{2,4} && ...
- Service(Local Service)简介
一.Service的作用 主要用于在后台处理一些耗时的逻辑操作,或者去执行某些长期运行的操作. 二.Service的创建 1.主要方法 IBinder onBind(Intent intent):必须 ...
- Flink Program Guide (8) -- Working with State :Fault Tolerance(DataStream API编程指导 -- For Java)
Working with State 本文翻译自Streaming Guide/ Fault Tolerance / Working with State ---------------------- ...
- VS 2012 插件卸载(删除自己安装的插件)
给VS 装了一个插件,装完之后感觉别扭,所以想卸载,[工具]--> [扩展和更新]-->[找到想要卸载的插件点击一下就会出现禁用或卸载]
- 新浪IP归属地API
之前用过腾讯的AIP,但是官方暂停这个服务了,新浪的API时间很久了,稳定性也很好,但愿能一劳永逸. ''' '''