Python集锦(一)
来源:互联网 发布:2017软件行业现状 编辑:程序博客网 时间:2024/06/05 18:26
1、标准python shell的自动补齐功能
标准python shell如果编译时增加了readline支持特性,将具有tab自动完成功能,但需要做如下处理:
>>> import rlcompleter,readline>>> readline.parse_and_bind('tab: complete')>>> import os>>> os.lios.linesep os.link os.listdir
2、切分函数、stripe()系列函数、replace()函数都是新建一个结果对象,而并不是直接在参数上进行修改,需要注意大量使用时内存占用情况。
3、在python里面,函数(def)没有定义返回值类型,甚至不指定是否返回一个值(事实上每个python函数都返回一个值,或者return返回值,或者为None)。函数也不定义参数类型,在python里面,变量从不显示指明类型,python会在内部计算出一个变量的类型并进行跟踪。
函数允许参数有默认值,而且如果使用命名参数,则剩下的参数也必须是命名参数,命名参数之间的顺序没关系。
函数docstring使用三引号对,而且必须是紧跟函数声明后的第一行。
4、import搜索路径:使用import sys后,可通过sys.path查看,通过sys.path.insert(0,'newpath')添加新的搜索目录到搜索目录列表中去。当然并不是所有模块都是用.py存储的,比如内嵌模块,比如sys,就是用C写的。一旦import module后,就可以使用这个module的共有的函数、属性、类。
5、一切都是对象,都可以有方法和属性,比如函数.__doc__,就返回该函数的docstring。有些对象既没有方法也没有属性,但可以有。不是所有对象都是可衍生的。但所有东西都是对象,因此它能够被赋值到一个变量或者作为参数传入函数。
你可能从其他程序语言环境中听说过 “first-class object” 的说法。在 Python 中,函数是 first-class objects,你可以将一个函数作为一个参数传递给另外一个函数;模块是 first-class objects,你可以把整个模块作为一个参数传递给一个函数;类是 first-class objects,而且类的单独的实例也是 first-class objects。
6、代码缩进:python代码块唯一的界定符就是冒号(:)和代码的缩进,代码的缩进表示一个代码块的开始,非缩进表示结束,空白很重要。python使用回车符来进行语句分割。
7、异常:通常情况下,异常是一个错误,提示出问题了,但并非所有异常都是错误。Python函数声明时不会说明它会抛出哪些异常,它需要你去判断哪些代码使用可能会抛出异常,因而使用try...except处理它,抛出异常使用raise,后跟异常的名称,以及可读的字符串用于调试:raise ValueError("number must be non-negative"),异常使用类方式实现的。
当一个错误发生在 Python Shell 里面的时候,它会打印一些关于这个异常以及它如何发生的详细信息,就此而已。这个被称之为一个 未被处理 的异常。在这个异常被抛出的时候,没有代码注意到并处理它,因此它把它的路径冒出来,返回到 Python Shell 的最顶层,输出一些调试信息,然后圆满结束。在这个 Shell 中,这没什么大不了的,但是如果在你的实际 Python 程序正在运行的时候发生,并且对这个异常没有做任何处理的话,整个程序就会嘎的一声停下来。可能那正是你想要的,也可能不是。
你不需要在抛出异常的函数里面去处理它。如果一个函数没有处理它,这个异常会被传递到它的调用函数,然后那个函数的调用函数,等等“在这个堆栈上面。” 如果这个异常从来没有被处理,你的程序将会崩溃, Python 将会打印一个 “traceback” 的标准错误信息,并以此结束。这也可能正是你想要的,它取决于你的程序具体做什么
捕获导入错误ImportError,有时import module,module不存在也会优雅的继续,因此你需要使用try...except包含之。也可以用于多个模块实现了同一公用API时,用于检查导入错误,异常时并优雅的加载另一模块。
在python中变量可以不声明就可以被赋值,但是不能引用了一个变量但没给它赋值。python中所有东西都是区分大小写的。
8、模块也是对象,并且所有模块都有一个内置属性:__name__,如果import这个模块,则__name__就是这个模块名,不包含路径名和扩展名。如果是作为一个程序独立运行,则__name__有一个默认名__main__
- Python集锦(一)
- Python优秀函数库集锦(一)
- Python集锦(二)
- python集锦(三)
- python集锦(四)
- Python常用集锦(upgrading...)
- JavaScript实用技巧集锦(一)
- 精彩SQL集锦(一)
- JavaScript实用技巧集锦 (一)
- C问题集锦(一)
- JavaScript语法集锦(一)
- W5500问题集锦(一)
- 错题集锦(一)
- 前端面试集锦(一)
- 数据结构算法集锦(一)
- java异常集锦(一)
- 2017框架集锦(一)
- springMVC面试集锦(一)
- 软件架构设计系列总结—写在前面
- 如何看Oracle执行计划
- android 解决ScrollView与ListView的冲突(TableLayout+ScrollView)
- inux下pure-ftpd安装图文教程
- 当前解决方案路径
- Python集锦(一)
- 找回久违的博客
- 进程间同步的方法
- 春运指南之:12306网上订票自动登录下单攻略及相关最新软件
- 代码注释法学习智能指针intrusive_ptr
- Linux 实践 Oracle 10g X64
- Xcode 4.3+ NSLog中文不输出Bug及解决方法
- 短址(short URL)原理及其实现
- freopen()函数在ACM中的使用