say.py
def say_hello():
""" 打印Hello World! """
print("Hello World!")
def say_name(name):
""" 打印传入的名字 """
print("我的名字是:" + name)
demo.py
# 模块
# 函数的优点之一就是与主程序分离,使用时直接调用函数即可
# 其实函数还可以存储在模块的独立文件中,再将模块导入到主程序中
# 要让函数可导入需先创建模块,模块其实就是扩展名为.py的文件,包含要导入到程序中的代码
# import语句允许在当前允许的程序文件中使用模块中的代码导入
# 1、导入整个模块
# python会读取导入模块所在的py文件,然后将其中所有的函数复制到这个程序中,但是代码是不可见的。
# 导入整个模块的语法如下:import module_name
import say; # 使用import语句导入say.py文件
say.say_hello(); # 调用say.py文件中的say_hello()函数
# 2、导入特定的函数
# 导入模块中特定的函数,语法如下:from module_name import function_name
# 可以通过使用逗号分隔函数名,导入多个函数:from module_name import function_0,function_1,function_2
# 如果使用这种语法,那么调用函数时不需要指定python文件名和句点
# 注意:一般import语句在一个文件的最顶部,这里是为了方便演示,所以放在此处
from say import say_name; # 从say.py中导入say_name()函数
say_name("张三"); # 调用say_name()函数
# 3、使用as给模块指定别名
# 通过给模块指定简短的别名(如say模块指定别名s),能够使用更容易的调用模块中的函数
# 给模块指定别名的语法如下:import module_name as mn,其中mn为模块的别名
import say as s; # 指定say模块的别名为s
s.say_hello(); # 使用s别名调用say模块中的函数
# 4、导入模块中的所有函数
# 使用星号(*)运算符可以让python导入模块中的所有函数
# 导入模块中所有函数的语法如下:from module_name import *
# import语句中的星号是让python将模块中的所有函数都复制到这个程序文件中,由于导入了每个函数,因此可以通过名称来调用每个函数,而不需要使用句点表示法
# 如果模块中有函数名称与项目中使用的名称相同,会出现问题
# 比较推荐的做法是:要么只导入需要使用的函数,要么导入整个模块并使用句点表示法
from say import *; # 导入say模块中的所有函数
say.say_hello(); # 调用say_hello()方法
say.say_name("李四"); # 调用say_name()方法