# 这是学习廖雪峰老师python教程的学习笔记

1、概览

导入模块用 import 命令。我们既可以导入python的内置模块,也可以导入自己编写的模块

1.1、编写一个自己的模块

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

 

' a test module '     # 模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释

 

__author__ = 'liaoxuefeng'    使用__author__变量把作者写进去

 

import sys    # 导入 sys 模块

 

def test():

    args = sys.argv      # argv是个变量,list方式存储了命令行所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称

    if len(args)==1:

        print('Hello, world!')

    elif len(args)==2:

        print('Hello, %s!' % args[1])

    else:

        print('Too many arguments!')

 

if __name__=='__main__': 

    test()

 

1.2if __name__=='__main__':   解析

在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名。因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。

当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。

 

编写好的.py文件,如果直接在命令行执行。则会直接调用 test() 函数

如果进入python环境,导入该模块。只有 test() 调用时,才会执行函数

 

1.3、变量的命名规则

变量的命名规则主要是在编写脚本时方便辨认该变量的某些用途:

  • abc,x123,PI  这些正常的函数和变量名是公开的(public

  • 类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途。比如上面的__author__,__name__就是特殊变量

  • 类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等