将如下源代码保存在hello.py
#!/usr/bin/env python3 #告诉Unix/Linux/Mac此文件为Python可执行文件 # -*- coding: utf-8 -*- # 本文件使用标准UTF-8编码格式 ‘ a test module ‘ # 文档注释,任务模块代码的第一个字符串都被视为当前模块的文档注释 __author__ = ‘Michael Liao‘ # __author__ 变量存储作者 import sys #sys变量可以访问sys模块的全部功能 def test(): args = sys.argv #sys的argv参数,用list存储命令行的所有参数,argv至少有一个元素,即 当前py文件的文件名(argv[0]) if len(args)==1: print(‘Hello, world!‘) elif len(args)==2: print(‘Hello, %s!‘ % args[1]) else: print(‘Too many arguments!‘)
#当前文件保存为hello.py文件,当在命令行运行hello模块文件是,Python解释器将一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块,
#if判断将失效,因此,中if测试可以让一个模块通过命令行运行时执行一些额外的代码,这是最常见的 运行测试。
if __name__==‘__main__‘:
test()
命令行运行:
[@wooluwakerdeMBP:test]$ python hello.py Michael
Hello, Michael!
Python交互式环境,导入hello模块:
import 一个模块时候,该模块不会执行;只有手动调用其方法才会触发执行;
[@wooluwakerdeMBP:test]$ python ###进入Python交互式环境
Python 3.7.5 (default, Oct 25 2019, 10:52:18)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello
>>> hello.test()
Hello, world!
作用域
abc
,x123
,PI
等;_xxx
和__xxx
这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc
,__abc
等;原文:https://www.cnblogs.com/wooluwalker/p/12242471.html