python自学笔记–基础概要
print() 函数
通常的打印函数,类似于C语言的printf函数。并且可与字符串格式运算符( % )结合使用,可实现字符串替换功能
>>> print "%s is number %d!" % ("Python", 1) Python is number 1!
raw_input()函数
数据输入函数,通常用来从标准屏幕上读取数据并赋值给相应变量
- Python是一种动态语言,因此不需要预先声明变量的类型。变量的值和类型是在变量被初始化的时候有编译器确定的。另外python语言并不支持C语言的自增和自运算。python会将–n解释为-(-n),从而得到n。
- Python 支持使用成对的单引号或双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。使用索引运算符( [ ] )和切片运算符( [:])可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是 0,最后一个字符的索引是 -1。
加号( + )用于字符串连接运算,星号( *)则用于字符串重复。 if语句的使用格式
if expression1: if_suite elif expression2:/*elif 相当于 else-if*/ elif_suite else: else_suite
如果表达式的值非 0 或者为布尔值 True, 则代码组 if_suite 被执行; 否则就去执行下一
条语句。 代码组是一个 Python 术语, 它由一条或多条语句组成,表示一个子代码块。
与其它语言不同, 条件条达式并不需要用括号括起来错误及异常处理
要给你的代码添加错误检测及异常处理, 只要将它们封装在 try-except 语句当中。 try
之后的代码组, 就是你打算管理的代码。 except 之后的代码组, 则是你处理错误的代码。也可以通过使用 raise 语句故意引发一个异常。try: filename = raw_input('Enter file name: ') fobj = open(filename, 'r') for eachLine in fobj: print eachLine, fobj.close() except IOError, e: print 'file open error:', e
函数定义
定义一个函数的语法由 def 关键字及紧随其后的函数名再加上该函数需要的几个参数组
成。函数参数(比较上面例子中的 arguments)是可选的, 这也是为什么把它们放到中括号中
的原因。这个语句由一个冒号(:)结束(与 if 和 while
语句的结束方式一样), 之后是代表函数体的代码组。def function_name([arguments]): "optional documentation string" function_suite
函数的参数可以有一个默认值(默认参数), 如果提供有默认值,在函数定义中, 参数以赋值语句的
形式提供。事实上这仅仅是提供默认参数的语法, 它表示函数调用时如果没有提供这个参数, 它
就取这个值做为默认值。例如:>>> def fnc(debug=True):
类的定义
使用 class 关键字定义类。 可以提供一个可选的父类(基类); 如果没有合适的基类,
那就使用 object 作为基类。class 行之后是可选的文档字符串, 静态成员定义, 及方法的定
义。class ClassName(base_class[es]): "optional documentation string" static_member_declarations method_declarations
例如
class MyClass(object): """my very first class""" version = 0.1 # class (data) attribute def __init__(self, nm='kill_root'): """constructor""" self.name = nm # class instance (data) attribute print 'Created a class instance for',nm
当一个类实例被创建时, __init__() 方法会自动执行, 在类实例创建完毕后执行, 类
似构建函数。__init__() 可以被当成构建函数, 不过不象其它语言中的构建函数, 它并不创
建实例,它仅仅是你的对象创建后执行的第一个方法。它的目的是执行一些该对象的必要的初
始化工作。通过创建自己的 __init__() 方法, 你可以覆盖默认的 __init__()方法(默认的
方法什么也不做), 从而能够修饰刚刚创建的对象。在这个例子里, 我们初始化了一个名为 name
的类实例属性(或者说成员)。这个变量仅在类实例中存在, 它并不是实际类本身的一部分。
__init__()需要一个默认的参数, 前一节中曾经介绍过。毫无疑问,你也注意到每个方法都有
的一个参数, self 它是类实例自身的引用。其他语言通常使用一个名为 this 的标识符
self.__class__.__name__ 变量的值。对一个实例来说, 这个变量表示实例化它的
类的名字。(self.__class__引用实际的类)
模块
模块是一种组织形式, 它将彼此有关系的 Python 代码组织到一个个独立文件当中。
模块可以包含可执行代码, 函数和类或者这些东西的组合。
当你创建了一个 Python 源文件,模块的名字就是不带 .py 后缀的文件名。一个模块创
建之后, 你可以从另一个模块中使用 import 语句导入这个模块来使用。
一旦导入完成, 一个模块的属性(函数和变量)可以通过熟悉的 .句点属性标识法访问import module_name
- 小结
函数 | 描述 |
---|---|
dir([obj]) | 显示对象的属性,如果没有提供参数, 则显示全局变量的名字 |
help([obj]) | 以一种整齐美观的形式 显示对象的文档字符串, 如果没有提供任何参数, 则会进入交互式帮助。 |
int(obj) | 将一个对象转换为整数 |
len(obj) | 返回对象的长度 |
open(fn, mode) | 以 mode(‘r’ = 读, ‘w’= 写)方式打开一个文件名为 fn 的文件 |
range([[start,]stop[,step]) | 返回一个整数列表。起始值为 start, 结束值为 stop - 1; start默认值为 0, step默认值为1。 |
raw_input(str) | 等待用户输入一个字符串, 可以提供一个可选的参数 str 用作提示信息。 |
str(obj) | 将一个对象转换为字符串 |
type(obj) | 返回对象的类型(返回值本身是一个 type 对象!) |
通过 dir.__doc__ 可以访问 dir()内建函数的文档字符串