《Python 编程从入门到实践》———— 函数存储

 函数的优点之一是,使用它们可将代码块与主程序分离。通过给函数指定描述性名称,可让主程序容易理解得多。你还可以更进一步,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import语句允许在当前运行的程序文件中使用模块中的代码。通过将函数存储在独立的文件中,可隐藏程序代码的细节,将重点放在程序的高层逻辑上。这还能让你在众多不同的程序中重用函数。将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序。知道如何导入函数还能让你使用其他程序员编写的函数库。

导入整个模块
 要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入到程序中的代码。Python读取这个文件时,代码行 import Tuple 让 Python 打开文件 Tuple.py,并将其中的所有函数都复制到这个程序中。你看不到复制的代码,因为这个程序运行时,Python 在后台复制这些代码。你只需知道,在 Tuple.py中,可以使用 Tuple.py中定义的所有函数。要调用被导入的模块中的函数,可指定导入的模块的名称和函数名,并用句点分隔它们

# 输入
import Tuple

# 输出
Your age is : 15
Your admission cost is ¥50.

导入特定的函数
 还可以导入模块中的特定函数,这种导入方法的语法如下。我们还可以通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数。若使用这种语法,调用函数时就无需使用句点。由于我们在import语句中显式地导入了函数,因此调用它时只需指定其名称

from module_name import function_name
from module_name import function_0, function_1, function_2

使用as 给函数指定别名
 如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名——函数的另一个名称,类似于外号。指定别名的通用语法如下:

from module_name import function_name as fn
# 输入
from Function import print_userinfo as puserinfo

userinfo = puserinfo("Tom",age = '25',location = "Wuhan")
print(userinfo)

# 输出
{'Name': 'Tom', 'age': '25', 'location': 'Wuhan'}

导入模块中的所有函数
 使用星号(*)运算符可让Python导入模块中的所有函数。import 语句中的星号让 Python 将模块中的每个函数都复制到这个程序文件中。由于导入了每个函数,可通过名称来调用每个函数,而无需使用句点表示法。然而,使用并非自己编写的大型模块时,最好不要采用这种导入方法:如果模块中有函数的名称与你的项目中使用的名称相同,可能导致意想不到的结果:Python可能遇到多个名称相同的函数或变量,进而覆盖函数,而不是分别导入所有的函数。最佳的做法是,要么只导入你需要使用的函数,要么导入整个模块并使用句点表示法。这能让代码更清晰,更容易阅读和理解。这里之所以介绍这种导入方法,只是想让你在阅读别人编写的代码时,如果遇到类似于下面的 import 语句,能够理解它们。

# 输入
from Function import *

userinfo = print_userinfo("Tom",age = '25',location = "Wuhan")
print(userinfo)

# 输出
{'Name': 'Tom', 'age': '25', 'location': 'Wuhan'}

 编写函数时,需要牢记几个细节。

  1. 应给函数指定描述性名称,且只在其中使用小写字母和下划线。
  2. 描述性名称可帮助你和别人明白代码想要做什么。给模块命名时也应遵循上述约定。
  3. 每个函数都应包含简要地阐述其功能的注释,该注释应紧跟在函数定义后面,并采用文档字符串格式。
  4. 给形参指定默认值时,等号两边不要有空格
  5. 建议代码行的长度不要超过79字符,这样只要编辑器窗口适中,就能看到整行代码。
  6. 如果程序或模块包含多个函数,可使用两个空行将相邻的函数分开,这样将更容易知道前一个函数在什么地方结束,下一个函数从什么地方开始。
  7. 所有的import语句都应放在文件开头,唯一例外的情形是,在文件开头使用了注释来描述整
    个程序。

おすすめ

転載: blog.csdn.net/qq_42957717/article/details/118081858