自定义函数

定义基本语法

test_function.py
def 函数名([参数]):

    '''
    描述文档
    '''
    函数体
    [return 返回值]
      
test_function.py
def find_factor(nums):                          #带参数nums的求因数的自定义函数
    '''
    find_factor是自定义函数
    :param nums: nums是传递一个正整数的参数
    :return: 以字符串性是返回一个正整数的所有因数
    '''                                          #用一对三个单引号来包括描述文件
    if type(nums)!=int:
        print('输入值类型出错,必须是整数!')
        return                                   #终止执行
    if nums<=0:
        print('输入值类型出错,必须是正整数!')
        return                                   #终止执行
    i=1
    str1=''
    while i<=nums:                              #循环求因数
        if nums%i == 0:
            str1=str1+''+str(i)
        i+=1
    return str1                                 #返回因数


def say_ok():                                    #预设函数
    print('OK')

help(find_factor)         #不需要()参数

#描述文档
Help on function find_factor in module __main__:

find_factor(nums)
    find_factor是自定义函数
    nums是传递一个正整数的参数
    以字符串形式返回一个正整数的所有因数

调用函数模块

实例1:import函数模块名

调用时 模块名.函数名

study_math.py
import test_function   #导入模块

print(test_function.find_factor(20))   #调用自定义函数

#执行结果
 1 2 4 5 10 20


必须保证两模块文件在同一文件下

示例2:用import语句导入指定函数

格式:from 模块名 import 函数名1[,函数名2,...]

from test_function import find_factor

print(find_factor(20))

#执行结果 1 2 4 5 10 20

示例3:import 语句导入所有函数

from 模块名 import * #"*"代表指定模块文件里的所有函数

from test_function import *
print(find_factor(8))        #直接调用第一个函数
say_ok()                     #直接调用第二个函数

#执行结果
 1 2 4 8
OK

设置模块、函数别名

模块名别名
import test_function as t1    #设置模块名别名为t1
print(t1.find_factor(20))

#执行结果
 1 2 4 5 10 20

函数名别名
from test_function import find_factor as f1    #设置函数名别名为f1
print(f1(20))
#执行结果
 1 2 4 5 10 20

模块搜索路径

跨文件目录去引用别的函数模块,方便文件管理和调用

sys.path 指定特定搜索模块路径
import sys                                              #导入自带sys模块
sys.path[0]=r'C:\Users\86176\Desktop\BOOK\function'     #临时增加指定读取模块路径
from test_function import *
print(find_factor(20))
say_ok()

#执行结果
 1 2 4 5 10 20
OK
posted @ 2020-11-13 19:07  17。  阅读(65)  评论(0)    收藏  举报