今天继续学习Python
研究了一下CentOS上运行,网上推荐使用Geany做IDE,下面把安装和使用写一下
1.使用终端,输入命令yum install geany
2.选择“应用程序”――“编程”――“Geany”
3.直接写一个测试代码用一下
print("Hello world")
然后保存为hello.py
4.可以直接按F5运行
可是运行时总是提示我“无法找到虚拟终端xterm”,查来查去,原来geany是利用xterm运行的,而CentOS没有自带,所以我们需要安装一个
5.使用终端,输入命令yum install xterm,可能会提示你是否继续,输入y就行了
6.再次运行就OK了
――――――――继续我们的学习――――――――――
函数,静态语言(如:java)称之为方法
def hello(): print("Hello")
定义了一个名为“hello”的函数,其功能只有一个,就是打印出“Hello”。
之前用过“import random”来产生随机数,说明Python支持像java包一样的层级结构和调用。
#Filename: hello.py def printHello(): print("Hello")
我们先创建一个名为“hello.py”的文件,其中包含一个名为“printHello()”的方法来打印
#Filename: myMain.py import hello hello.printHello()
再写一个名为“myMain.py”的文件,先用“import”来导入“hello.py”文件,然后调用它的“printHello()”方法。
注意:myMain.py和hello.py两个文件必须在同一个目录下。
下面我们在“hello.py”文件中增加一个版本变量,Python通常每个文件都有版本变量,取名为“__version__”(注意两个下划线),不是必须的但是约定俗成的。
#Filename: hello.py def printHello(): print("Hello") __version__ = '0.1'
当我执行“hello.__version__”时报错,提示找不到“__version__”,仔细一看原来是__version__写到“printHello()”函数中了,但是怎么把它隔离出来呢?方法很狗血,居然是取消缩进。。。
#Filename: hello.py def printHello(): print("Hello") __version__ = '0.1'#注意,没有缩进!
经过一再测试,即使把“__version__”放在第一行,增加缩进也会造成报错,由此可见:Python是根据缩进判断语句块的。
“hello.py”是自己写的,那么如果一个陌生的py文件,我想知道里面都有哪些函数怎么做呢?
Python提供了“dir()”函数
import hello print(dir(hello))
得到的结果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '__version__', 'printHello']
可见除了我们自己定义的“__version__”和“printHello”以为,系统还自动创建了许多变量。
import 导入时需要牺牲性能作为代价的,所以Python会产生一个“.pyc”文件,个人感觉就好像是.java文件编译后产生.class文件一样。
我们可以用del命令删除“.pyc”中的方法和变量,如下:
import hello print(dir(hello))
得到的结果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '__version__', 'printHello']
我们再用del删除掉“__version__”
import hello del hello.__version__ print(dir(hello))
得到的结果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', 'printHello']
看!“__version__”消失了!不用担心,删除的是“hello.pyc”中内容,“hello.py”中内容原封不动,不信可以打开看一下。