python 核心编程学习笔记(第3章) 对应Let's
Python基础(chapter3)
1 setence and syntax语句和语法
1.1 #为注释符号
1.2 \n是标准行分隔符, 通常一个语句一行
1.3 反斜线\表示下一行继续, 用来将单条语句放入多行…尽量使用括号代替
1.4 分号;表示将两个语句连接在一行中…不提倡
1.5 冒号:表示将代码块的头和体分开
1.6 语句(代码块)用缩进块方式体现: 同一个代码组的代码必须严格左对齐..由于不同的editor制表符宽度不一, 为了使代码跨平台, 推荐使用4个空格缩进
1.7 不同缩进深度分隔不同的代码块
1.8 python文件以模块的形式组织: 模块以磁盘文件的形式存在, 不应该让某个模块充斥的太大
2 赋值
2.1 赋值语句没有返回值, 但可以使用链式赋值
2.2 python2.0开始支持增量赋值(算符和等号连接赋值), 但是python不支持++, --
2.3 赋值操作中, 可变对象会被直接修改(引用位置值的修改), 不可变对象则被重新赋予新的对象(引用修改)
2.4 多元赋值: a, b, c = 1, 2, ‘string’, 建议使用tuple的方式进行多元赋值: (a, b, c) = (1, 2, ‘string’)
3 swap操作: x, y = y, x
4 标识符
4.1 大小写敏感
4.2 python的关键字列表和iskeyword()函数在keyword模块, 方便查阅
4.3 内建: built-in可以看作是系统保留字….对于一些内建函数需要覆盖(重定义, 替换)…built-in是__builtins__模块的成员, 该模块由解释器自动导入
4.4 python不支持重载
4.5 下划线: 作为变量前缀和后缀指定特殊变量
4.5.1 _xxx: 不用’from module import*’导入
4.5.2 __xxx__: 系统定义名字
4.5.3 _xxx: 类中的私有变量名
6 模块组织
# 起始行
# 模块文档
# 模块导入
# 变量定义
# 类定义
# 函数定义
# 主程序
7 __name__用于指示模块应该如何被加载, 如果值是”__main__”说明是主模块, 如果是模块名, 说明是被导入的
8 主模块测试代码
def main():
# business process
if(__name__ == ‘__main__’)
main()
9 内存管理
9.1 基本
9.1.1 弱类型 – 动态类型
9.1.2 programmer不关心内存管理
9.1.3 变量并会被回收
9.1.4 del语句能够直接释放资源
9.2 变量未初始化不允许使用
9.3 引用计数: 对于一个内存堆中的对象, 有多少个指针引用它..引用计数就是多少, 引用计数为0时, 该对象可以被垃圾回收器回收
9.3
相关文档:
1. 打印变量和变量自显
>>> myString = 'Hello World!'
>>> print myString
Hello World!
>>> myString
'Hello World!'
因为: print 语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象
sys.stdout.write('hello')不会在末尾加上'\n',而print会
2. 打印文件
hand ......
#coding=utf-8
from newtest.wiki.models import WiKi
from django.template import loader, Context
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response
def index(request, pagename=""):
"""显示正常页面,对页面的文字做特殊的链接处理"""
......
这里提供的只是一个支持管道的命令执行接口, 至于获取命令, 扩展自己的命令, 就不再赘述.
对于系统的命令, 可以直接调用这个接口方法, 多个命令支持管道操作. 发生错误时, 引发OSError.
1. 判断传入命令是否是字符串类型
2. 传入的每个命令.
3. 遍历所有命令.
4. 获取每个命令的命令及参数
5. 动态执行Popen, ......
由于Boost Python跟不上Python版本更新,如下方法调用可能产生TypeError: 'NoneType' object does not support item assignment异常。
Boost Python文档中例子可能产生异常。
Py_Initialize();
object main_module = import("__main__");
object main_dict = main_module.attr("__dict__");
try{
object ......
Pythonwin - Python IDE and GUI Framework for Windows.
Copyright 1994-2006 Mark Hammond
Python is Copyright (c) 2000-2008 ActiveState Software Inc.
Copyright (c) 2001-2008 Python Software Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-20 ......