Python学习笔记-模块使用

将如下源代码保存在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!

作用域

  • 正常的函数和变量名是公开的(public),可以被直接引用,比如:abcx123PI等;
  • 类似_xxx__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc__abc等;
  • 只有需要被外部调用的函数才定义成public,不需要被外部调用的函数定义成private,可以在public方法中封装private方法

猜你喜欢

转载自www.cnblogs.com/wooluwalker/p/12242471.html