温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何划分模块

发布时间:2021-12-17 17:37:26 阅读:291 作者:iii 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容介绍了“Python如何划分模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

第一步,拆分规则

把规则部分的代码,复制到新文件:rule.py,原来的代码注释或删除。这里为了对比,DE8UG 在 08 号文件进行了注释,见最后的代码。

# rule.py# author: DE8UG# PROJECT: renglemerule = {    "湿垃圾": ["菜叶", "橙皮", "葱", "饼干"],    "干垃圾": ["旧浴缸", "盆子", "海绵", "卫生纸"]}
   

第二步,拆分处理垃圾的核心代码

新建文件:handle_laji.py,把处理垃圾分类的函数复制到这里。

# handle_laji.py# author: DE8UG# PROJECT: renglemedef reng_laji(rule_k, laji, ljt):    if rule_k == ljt['name']:        ljt['data'].append(laji)def fenlei(laji, rule, ljt):    for k, v in rule.items():        print(k, v)        if laji in v:            print('找到了垃圾:', laji, k)            reng_laji(k, laji, ljt)
   

第三步,处理文件,加载和保存垃圾

新建文件:handle_file.py,把处理文件的函数复制到这里。

# handle_file.py# author: DE8UG# PROJECT: renglemeimport json# print('加载文件:', ljt_gan)def load_data(filename):    with open(filename) as f:        data = json.load(f)        return data# 用函数封装写文件的代码def save_to_file(filename, data):    with open(filename, 'w') as f:        json.dump(data, f)
   

第四步,完善代码,测试

把 08 文件的已经移除的代码删除(我这里为了对比仅做了注释),然后在最前面导入前面几个新 py 文件。

注意:这几个文件需要在一个目录下,以免出现不同路径找不到文件的情况。

import 导入相应的模块后,后续的函数,需要用模块.函数名的方式调用。请自行补充所需函数名。然后进行代码测试。没有问题的话,我们今天新的改造就完成了。

# author: DE8UG# 创建垃圾桶和垃圾# 规则:k:v,一个k对应一个v,代码表示用冒号分割# 输入# 判断# 保存# 函数# 综合# 8 划分模块,转移代码# import json# 导入自建模块import ruleimport handle_file, handle_laji# rule = {#     "湿垃圾": ["菜叶", "橙皮", "葱", "饼干"],#     "干垃圾": ["旧浴缸", "盆子", "海绵", "卫生纸"]# }# # print('加载文件:', ljt_gan)# def load_data(filename):#     with open(filename) as f:#         data = json.load(f)#         return data# def reng_laji(rule_k, laji, ljt):#     if rule_k == ljt['name']:#         ljt['data'].append(laji)# def fenlei(laji, rule, ljt):#     for k, v in rule.items():#         print(k, v)#         if laji in v:#             print('找到了垃圾:', laji, k)#             reng_laji(k, laji, ljt)            # reng_laji(k, laji, ljt_shi)# 用函数封装写文件的代码# def save_to_file(filename, data):#     with open(filename, 'w') as f:#         json.dump(data, f)def main():    # 定义垃圾桶    ljt_shi = {        'name': "湿垃圾",        'data': []    }    ljt_gan = {        'name': "干垃圾",        'data': []    }    # 加载已有的垃圾    ljt_gan = handle_file.load_data('gan.json')    ljt_shi = handle_file.load_data('shi.json')    print('加载文件:', ljt_gan, ljt_shi)    # 扔垃圾    laji = input("输入要扔的垃圾:")    print("垃圾:", laji)    # 分类    handle_laji.fenlei(laji, rule, ljt_gan)    handle_laji.fenlei(laji, rule, ljt_shi)    print('-'*20)    print(ljt_shi)    print(ljt_gan)    # 调用函数,保存到具体的垃圾桶文件    handle_file.save_to_file('gan.json', ljt_gan)    handle_file.save_to_file('shi.json', ljt_shi)if __name__ == "__main__":    main()

“Python如何划分模块”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/howiewang/blog/4452754

AI

开发者交流群×