Python学习二

2023-01-31 02:01:15 python 学习

今天继续学习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”中内容原封不动,不信可以打开看一下。

相关文章