首页 文章 精选 留言 我的

精选列表

搜索[HTTP/3],共10000篇文章
优秀的个人博客,低调大师

Python3好用的原生api

读取特定目录下所有的文件夹, 和文件名os.walk() os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现你的程序~ import os for relative_file_dir_path, file_dir_name, file_name in os.walk('./'): print("当前文件夹路径(字符串)", relative_file_dir_path) print("当前文件夹目录下包含的文件夹(数组)", file_dir_name) print("当前文件夹目录下包含的文件名(数组)", file_name) print("---"*10) 这个操作非常适合编写文件处理脚本, 比如你想将某个目录下的markdown文件批量转换为word文档, 参考Python将md批量转为docx, 或者将less批量转换为css, 参考批量转换less至css, 配合其他优秀的库, 你可以完成一些好玩的操作, 比如 网站图片素材中文转英文 深拷贝 相比js蛋疼的深拷贝操作, python的深拷贝简单粗暴 copy_name = deepcopy(name) from copy import deepcopy name = ["z", "h", "a", "o", "o", "l", "e", "e"] copy_name = deepcopy(name) copy_name[0] = "Z" print("原列表", name); print("新列表", copy_name) 一个优秀的api就应该简洁强大, 见名知意, 反向对比js的深拷贝, js的深拷贝简直就是一门学问, 而且几乎是面试必问, 当然深入研究一下也并非不好, 但如果开发者精力有限, 优秀的api可以极大提升我们的工作效率 随机取字符串(点名利器) 如果你想写一个点名的小程序, python一行代码就能搞定~ import random for i in range(10): group = random.choice(["白月初", "东方月初", "苏苏", "红红", "王富贵", "清瞳"]) print("第", i,"周", group, "打扫教室...") 反向切片 python的切片操作可谓是优雅强大, 通过反向切片, 你可以迅速获得一个列表的反向序列 对列表进行反序是一个很常见的操作, 但python反向切片的玩法实在是非常简洁, 让人无法拒绝, 其实对某一数据结构进行"反向"是一个很有意思的操作, 比如对二叉树进行反序 明星程序员被Google挂掉的故事, 还有google著名的 在不使用额外空间的前提下, 对句子内的单词进行反序的问题, 比如将 This is a pen 反向为 pen a is This 小结 Python为我们提供了大量好用的api, 可以让我们的需求快速得到实现, 极大提升我们的开发效率, 但很多问题, 并不是用几个简单api就能搞定的, 比如前面提到的google的在不使用额外空间的情况下, 将This is a pen 反向为 pen a is This, 这个题目的解法非常巧妙, 首先将This is a pen 转换为nep a si sihT, 然后根据空格所处的位置, 将单个的单词自身的序列进行调换, 这样就可以将, nep a si sihT转换为pen a is This 优秀的算法能让我们以更少的资源的实现程序, 优秀的api能提升我们的开发效率, 或许优秀的工程师, 就是在二者之间把握平衡的那类人吧~

优秀的个人博客,低调大师

Demo3 - 保存训练后模型

训练好的模型,需要保存好,下次就直接拿来用,相当于是机器学习的成果。不用每次都去学习了, 直接保存成文件,然后下个项目直接导入,就可以使用了。 目前两种方法比较好用。 python自带pickle sklearn joblib工具 还是直接上代码,两种方式都已经在注释里面。 # -- coding: utf-8 -- # 通过本个demo 将学习后的模型进行保存。 这样就不用每次都重新训练模型。 # (模型的保留的迁移) # 方法1,使用python自带的pickle from sklearn.ensemble import RandomForestClassifier from sklearn import datasets from sklearn.externals import joblib import pickle # ->python 自带 # 使用sklearn提供的一些demo数据,load_xxxx数据 (X,y) = datasets.load_iris(return_X_y=True) # 模型构建 rfc = RandomForestClassifier(n_estimators=100,max_depth=100) rfc.fit(X,y) # 验证模式 print("模型初步验证:") print(rfc.predict(X[0:1,:])) # -- 重点! save Model # file = open('saved_model/rfc.pickle','w') # pickle.dump(rfc,file) # file.close() joblib.dump(rfc,'saved_model/rfc.pkl') # - 官方建议方式joblib print("模型已经保存到 saved_model") 一些附加知识 Pickle是python中一种标准的序列化对象的方法。你可以使用pickle操作来序列化你的机器学习算法,保存这种序列化的格式到一个文件中。稍后你可以导入这个文件反序列化你的模型,用它进行新的预测。以下的例子向你展示:如何使用Pima Indians onset of diabetes数据集,训练一个logistic回归模型,保存模型到文件,导入模型对未知数据进行预测。运行以下代码把模型存入你工作路径中的finalized_model.sav,导入模型,用未知数据评估模型的准确率 Joblib是SciPy生态的一部分,为管道化python的工作提供的工具。它提供了存储和导入python对象的工具,可以对Numpy数据结构进行有效的利用。这对于要求很多参数和存储整个数据集的算法(比如K-Nearest Neighbors)很有帮助。以下代码向你展示:如何使用Pima Indians onset of diabetes数据集,训练一个logistic回归模型,使用joblib保存模型到文件,导入模型对未知数据进行预测。运行以下代码把模型存入你工作路径中的finalized_model.sav,也会创建一个文件保存Numpy数组,导入模型,用未知数据评估模型的准确率。 保存模型的几点提醒 当你存储你的机器学习模型时,需要考虑以下重要问题。一定要记住,记录下你的工具版本,以便于重构环境。 python的版本:记录下python的版本。需要相同大版本号的python来序列化和反序列化模型。 库的版本:主要的库的版本要保持一致,不仅限于Numpy和scikit-learn的版本。 手动序列化:你可能想要手动的输出你的模型参数以便于你可以直接把他们用在scikit-learn或者其他的平台。确实学习算法参数实现比算法本身实现要难得多。如果你有能力也可以自己写代码来导出参数。

优秀的个人博客,低调大师

Python3源码—编译

0.1. 整体架构 在最高的层次上,Python的整体架构可以分为三个主要的部分: 左:Python提供的大量的模块、库以及用户自定义的模块; 右:Python的运行时环境,包括对象/类型系统(Object/Type structures)、内存分配器(Memory Allocator)和运行时状态信息(Current State of Python); 中:Python的核心——解释器(interpreter),或者称为虚拟机,包括词法分析(Scanner),语法分析(Parser),Compiler和Code Evaluator; 0.2. 目录组织 Include :该目录下包含了Python提供的所有头文件,如果用户需要自己用C或C++来编写自定义模块扩展Python,那么就需要用到这里提供的头文件; Lib :该目录包含了Python

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册