Learning Python第二版笔记-Chapter 3 How to run your program

本文介绍了如何运行一个Python程序,有价值的信息不多,罗列如下:

1. 第一种方式叫Interactive Coding,就是在Python的shell下输入语句。这样做的代价是代码一被输入就会被执行,可以用来快速的做单元测试(比如想知道某句代码应该怎 么写来满足需求,可以用这种模式)。这里需要注意的是以下几点:a) 这种模式下不需输入print语句,直接输入表达式或变量,就能打印出表达式和变量的值 b) 这种模式下输入的代码不能带有前置空格,也就是不能以空格打头 c) 如何输入一个复合语句,也就是这是一段代码,不是一句。当我们输入一段复合语句时,Python shell的prompt会从 >>> 变成 ... ,然后我们可以继续输入,需要记住的是,当语句输入完时,要输入一个空白回车,告诉Python shell,这个语句结束了,方可!

2. 第二种方式就是代码写在一个文件里面。首先我们可以用python <filename>来运行这个python程序,记住python的程序要把扩展名取为.py;其次,UNIX/Linux上特有的,和 bash一样,在代码的第一行,输入#!/usr/bin/python ,这样,直接把这个文件附上可执行权限,就可以直接执行这个文件了,和bash编程一样;再次,可以把代码的第一行写成这样:#! /usr/bin/env python ,和上一次不一样的是,这样写的话,env命令就会在当前环境中寻找python可执行程序,不需要我们将python可执行文件的路径hard code到代码中,这也是UNIX/Linux中特有的。

3. 第三种方式是直接在windows下双击.py文件,这就不说了,我们做python基本都是在Linux下

4. imports & reloads 。这个很重要,import命令可以直接导入一个py文件,具体的搜索路径在第15章将描述。如import script4,注意,这里script4不要写成script4.py,import会自动寻找扩展名为py的python文件。在Python中,每 个py文件都称为module,这些文件中的变量、函数等都称为该module中的attribute,通过import,我们就可以将这个module 载入,然后访问其中的attributes。需要注意的是,import的动作只会做一次,也就是说,如果我们import script4后,就算这个script4被修改了,我们再次执行import script4的话也不会有任何反应,因为Python认为import是一个非常expensive的动作,所以只会做一次!如果要python重新载 入一个已经import过的module的话,请用reload,语法是这样的:reload(script4),注意,这里reload要以括号的方式 引用script4,因为reload是一个function,而import是一个statement!reload就会重新加载script4,不过 在reload的时候,要求script4一定要被import过!

5. 访问module、attributes。import了一个module之后,就可以访问module中的attribute,方式有两种,如下(title是myfile.py中的一个变量):

% python # Start Python.
>>> import myfile # Run file; load module as a whole.
>>> print myfile.title # Use its attribute names: `.' to qualify.

% python # Start Python.
>>> from myfile import title # Run file; copy its names.
>>> print title #Use name directly: no need to qualify.

都看到了,第一种就是用Full Qualify的方式来引用;第二种通过关键字from,直接将title引用。

6. import module之后,可以用dir函数查看到这个module中所有的attribute,如:

>>> dir(threenames)
['__builtins__', '__doc__', '__file__', '__name__', 'a', 'b', 'c']

threenames是threenames.py,已经被import,用dir就可以看到里面的attribute,用两个underscore标识的是内置的attribute,每个module都会被python预置这些attribute,和C++很像。

7. Embedded Calls. Python可以被内置在很多地方,比如python的代码被内置在数据库中、网页中、其他程序代码中等等。这里有个C调用Python的例子:

#include <Python.h>
...
Py_Initialize( );
PyRun_SimpleString("x = brave + sir + robin");

只要include了Python.h,就可以用上面的函数来执行python的代码。简言之,python和很多其他的语言都有很好的兼容性。
原文地址:https://www.cnblogs.com/super119/p/1989384.html