core python - QLGQ/learning-python GitHub Wiki
notes
Python是一种解释型语言,这意味着开发过程中没有了编译这个环节。
Python源文件通常用.py扩展名。当源文件被解释器加载或者显式地进行字节码编译的时候会
被编译成字节码。由于调用解释器的方式不同,源文件会被编译成带有.pyc或.pyo扩展名的文
件。
在Unix中,可执行文件通常会将Python安装到/usr/local/bin子目录下,而库文件则通常安装 在/usr/ local/lib/python2.x子目录下,其中的2.x是你正在使用的版本号。
在Python中未指定返回值的函数会自动返回None,等价于NULL。
print语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对 象。
Python有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。
下划线(_)在解释器中有特别的含义,表示最后一个表达式的值。
Python的print语句,与字符串格式操作符(%)结合使用,可实现字符串替换功能,这一点 和C语言中的printf()函数非常相似。Print语句也支持将输出重定向到文件。符号>>用来重定向输出。
从用户那里得到数据输入的最容易的方法是使用raw_input()内建函数。它读取标准输入,并 将读取到的数据赋值给指定的变量。你可以使用into内建函数将用户输入的字符串转换为整 型。
num = raw_input('Now enter a number: ')
Now enter a number: 1024
print 'Doubling your number: %d' % (int(num) * 2)
Doubling your number: 2048
文档字符串的特别注释。你可以在模块、类或者函数的起始添加一个字符串,起 到在线文档的功能。
def foo():
"This is a doc string."
return True
与普通注释不同,文档字符串可以在运行时访问,也可以用来自动生成文档。
Python有两种除法操作符,单斜杠用作传统除法, 双斜杠用作浮点除法(对结果进行四舍五入)。传统除法是指如果两个操作数都是整型的 话,它将执行的是地板除(取比商小的最大整数)。而浮点除法是真正的除法,不管操作数是什么类型,浮点除法总是执行真正的除法。 还有一个乘方操作符,双星号(**)。
Python是动态类型语言,也就是说不需要预先声明变量的类型。变量的类型和值在赋值那一 刻被初始化。变量赋值通过等号来执行。
加号(+)用于字符串连接运算,星号(*)则用于字符串重复。
列表和元组有几处重要的区别。列表元素用中括号([])包裹,元素的个数及元素的值可以改 变。元组元素用小括号(())包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只 读的列表。通过切片运算([]和[:])可以得到子集,这一点与字符串的使用方法一样。
print语句默认会给每一行添加一个换行符。只要在print语句的最后添加一个逗号(,),就可以改变它这种行为。
如果函数中没有return语句,就会自动返回None对象。
函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式 提供。事实上这仅仅是提供默认参数的语法,它表示函数调用时如果没有提供这个参数,它 就取这个值作为默认值。
def foo(debug=True):
'detemine if in debug mode with default argument'
if debug:
print 'in debug mode'
print 'done'
foo()
foo(False)
输出结果:
in debug mode
done
done
x = y =z =1, 在这个例子中,函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式提供。事实上这仅仅是提供默认参数的语法,它表示函数调用时如果没有提供这个参数,它就取这个值作为默认值。
模块结构和布局
- 起始行(Unix)
- 模块文档
- 模块导入
- 变量定义
- 类定义
- 函数定义
- 主程序