标签归档:Python

DeepLearningZeroToAll-TensorFlow基础教程实验

这是TensorFlow基础教程(韩文)中介绍的实验代码,地址为https://youtu.be/BS6O0zOGX4E(我们还计划用英语录制视频。)

这是正在进行的工作,可能有错误。然而,我们呼吁您的意见和拉请求。请查看我们的风格指南:

实验幻灯片:

我们欢迎您对幻灯片发表意见

文件命名规则:

  • kLab-XX-X-[名称].py:Kera实验室代码
  • Lab-XX-X-[名称].py:TensorFlow实验室代码
  • mxlab-XX-X-[名称].py:MXNet实验室代码

安装要求

pip install -r requirements.txt

运行测试和自动寻呼8

TODO:需要添加更多测试用例

python -m unittest discover -s tests;

# http://stackoverflow.com/questions/14328406/
pip install autopep8 # if you haven't install
autopep8 . --recursive --in-place --pep8-passes 2000 --verbose

自动创建Requirements.txt

pip install pipreqs

pipreqs /path/to/project

http://stackoverflow.com/questions/31684375

投稿/评论

我们始终欢迎您的意见和请求

参考实现

Pyroscope-🔥连续性能分析平台🔥调试性能问题可归结为一行代码

Pyroscope是一个开源的连续性能剖析平台。它将帮助您:

  • 查找代码中的性能问题
  • 解决CPU利用率高的问题
  • 了解应用程序的调用树
  • 跟踪随时间变化的情况

🔥Pyroscope Live Demo🔥

功能

  • 可以存储来自多个应用程序的多年性能分析数据
  • 您可以一次查看多年数据,也可以放大特定事件
  • 低CPU开销
  • 高效压缩、低磁盘空间需求
  • 时髦的用户界面
  • 支持Go、Ruby和Python

分3步在本地试用Pyroscope:

# install pyroscope
brew install pyroscope-io/brew/pyroscope

# start pyroscope server:
pyroscope server

# in a separate tab, start profiling your app:
pyroscope exec python manage.py runserver # If using Python
pyroscope exec rails server               # If using Ruby

# If using Pyroscope cloud add flags for server address and auth token
# pyroscope exec -server-address "https://your_company.pyroscope.cloud" -auth-token "ps-key-1234567890" python manage.py runserver

文档

有关如何将Pyroscope与其他编程语言配合使用、在Linux上安装或在生产环境中使用的更多信息,请查看我们的文档:

下载次数

您可以从我们的网站下载适用于MacOS、Linux和Docker的最新版本的PyroscopeDownloads page

支持的集成

  • 红宝石(通过rbspy)
  • Python(通过py-spy)
  • 前往(途经pprof)
  • Linux eBPF(VIAprofile.py从…bcc-tools)
  • PHP(通过phpspy)
  • .NET(通过dotnet trace)
  • Java(即将推出)

请让我们知道您希望在our issues或在our slack

学分

高温镜之所以成为可能,要归功于许多人的出色工作,包括但不限于:

  • 布兰登·格雷格(Brendan Gregg)-火焰图的发明者
  • Julia Evans-Ruby的rbspy采样剖析器的创建者
  • 弗拉基米尔·阿加方金(Vladimir Agafonkin)-火焰手的创建者-快速火焰图形渲染器
  • Ben Frederickson-Python的py-spy采样分析器的创建者
  • Adam Saponara-PHP采样剖析器的创建者
  • Alexei Starovoitov、Brendan Gregg和其他许多使Linux内核中基于BPF的分析成为可能的人

贡献

要开始投稿,请查看我们的Contributing Guide

感谢Pyroscope的贡献者!

PyWhat-🐸识别任何东西。pyWhat让您轻松识别电子邮件、IP地址等

想象一下:你会看到一些神秘的文字🧙‍♂️5f4dcc3b5aa765d61d8327deb882cf99你想知道这是什么。你的工作是什么?

嗯,有了what你所要做的就是问what "5f4dcc3b5aa765d61d8327deb882cf99"what我会告诉你的!

what的工作就是识别什么有些事是不管是文件还是文本!甚至是祸不单行的一个文件!那文本呢?文件?我们也有那个!what是递归的,它将标识所有的一切在文本和更多方面!

⚙用例

🦠Wannacry

您会遇到一款名为WantToCry的新恶意软件。你回想起Wannacry,并记得它被停止是因为一名研究人员在代码中发现了一个杀死开关

当硬编码到Wannacry中的域名注册后,病毒就会停止

您使用的是What识别恶意软件中的所有域,并使用域注册器API注册所有域。如果Wannacry再次发生,你可以在几分钟内阻止它,而不是几周

🦈更快地分析PCAP文件

假设你有一个.pcap来自网络攻击的文件。What可以识别这一点并快速找到您:

  • 所有散列
  • 信用卡号码
  • 加密货币地址
  • 社保号码
  • 还有更多

使用what,您可以在几秒内识别出pcap中的重要内容,而不是几分钟。

🌌什么都行

任何时候,只要您有一个文件,并且想要在其中找到有用的结构化数据,What是给你的

或者如果你遇到一段文字,而你不知道它是什么,What会告诉你

文件打开您可以通过以下方式传入文件路径what 'this/is/a/file/path'What聪明到能认出这是个文件!

一整套怎么样?目录What我也能应付得来!它会的递归地搜索文件并输出所需的所有内容!

过滤您可以使用以下命令过滤输出what --rarity 0.2:0.8 --include_tags tag1,tag2 TEXT使用what --help获取更多信息

排序您可以使用以下命令对输出进行排序what -k rarity --reverse TEXT使用what --help获取更多信息

正在导出您可以使用以下命令导出到jsonwhat --json并且可以使用以下命令将结果直接发送到文件what --json > file.json

无边界模式What有一种特殊的模式来匹配字符串中的可识别信息。默认情况下,它在CLI中处于启用状态,但在API中处于禁用状态。使用what --help或参阅API Documentation了解更多信息

🍕API接口

PyWhat有API!单击此处https://github.com/bee-san/pyWhat/wiki/API读到关于这件事的报道

👾贡献

what不仅依靠贡献者茁壮成长,而且离不开他们!如果您想要添加一个新的正则表达式进行检查,您可以阅读我们的文档here

我们邀请投稿人加入不和谐的行列,以便更快地进行讨论,但这并不是必要的:

Uvicorn-闪电般的ASGI服务器。🦄

闪电般的ASGI服务器

文档https://www.uvicorn.org

要求:Python 3.6+(要支持Python 3.5,请安装版本0.8.6。)

Uvicorn是一个闪电般的ASGI服务器实现,使用uvloophttptools

直到最近,Python还缺乏用于异步框架的最低级别的服务器/应用程序接口。这个ASGI specification填补了这一空白,意味着我们现在能够开始构建一组可在所有异步CIO框架中使用的通用工具

Uvicorn目前支持HTTP/1.1和WebSockets。计划支持HTTP/2

快速入门

使用以下方式安装pip

$ pip install uvicorn

这将安装具有最小(纯Python)依赖项的uvicorn

$ pip install uvicorn[standard]

这将安装带有“基于Cython的”依赖项(如果可能)和其他“可选的附加项”的uvicorn。

在此上下文中,“基于Cython”的含义如下:

  • 事件循环uvloop将在可能的情况下安装和使用
  • http协议将由httptools如果可能的话

此外,“自选额外服务”的意思是:

  • WebSocket协议将由websockets(您是否要使用wsproto如果可能,您需要手动安装)
  • 这个--reloader处于开发模式的标志将使用watchgod
  • Windows用户将拥有colorama为彩色原木安装的
  • python-dotenv如果您要使用--env-file选项
  • PyYAML将被安装,以允许您提供.yaml文件到--log-config,如果需要

创建应用程序,在example.py

async def app(scope, receive, send):
    assert scope['type'] == 'http'

    await send({
        'type': 'http.response.start',
        'status': 200,
        'headers': [
            [b'content-type', b'text/plain'],
        ],
    })
    await send({
        'type': 'http.response.body',
        'body': b'Hello, world!',
    })

运行服务器:

$ uvicorn example:app

Uvicorn是BSD licensed代码
在英国布赖顿设计和建造

-🦄-

Codeparkshare-python初学者(零基础学习python、python入门)书籍、视频、资料、社区推荐

本文主要针对零基础想学习Python者.本文本文由@史江歌(shijiangge@gmail.comQQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享。鸣谢!本文会不断更新.

一、学会使用搜索引擎,尤其是谷歌。推荐阅读文章

《如何用好Google搜索引擎?》知乎问答@崔凯

《十大高明的Google搜索技巧》By-雪影蓝风

《如何用好Google》By-李笑来

二、学会提问

推荐阅读《提问的智慧》By-啄木鸟社区

《提问的智慧》务必请读完!

三、书籍推荐

零基础

  1. python官方文档点击打开链接英语不好的,暂时就先别看了,以后一定肯定要加强英语学习哦;)。
  2. 推荐《How to think like a computer scientist》,对应中文版本“Python学习笔记–皮大庆”,非常适合零基础入门.
  3. 推荐[“python编程实践”](http://book.douban.com/subject/7059900/)
  4. 推荐《简明Python教程》
  5. 推荐《笨办法学 Python (Learn Python The Hard Way)》

有其他编程语言基础

  1. 推荐《Python基础教程》
  2. 推荐Python入门教程-By廖雪峰
  3. Tutorial – Learn Python in 10 minutes

进阶

  1. 推荐Requests 源码阅读
  2. 《Python进阶》(Intermediate Python 中文版)

更多书籍推荐

  1. 知乎问答关于 Python 的经典入门书籍有哪些?
  2. V2EX问答文科生想学Python
  3. Python快速教程

四、视频推荐

麻省理工公开课“计算机科学及编程导论”,该课程针对零基础者网易公开课那就是。

课程介绍这门课程适用于那些拥有很少或没有编程经验的学生,它致力于使学生理解计算机在解决问题中的作用,并且帮助学生不论其专业、使他们对于能够完成有用的小程序的目标充满信心.

五、学习方法

知乎问答零基础,应当如何开始学习 Python ?–由@黎敏

虽然我不是python高手,但我是零基础,之前会的都是软件ps,ppt之类。

如果目的是想成为程序员,参考教学大纲.

如果只是学程序,理解科技,解决工作问题,我的方式可以参考使用:

  1. (找到合适的入门书籍,大致读一次,循环啊判断啊,常用类啊,搞懂(太难的跳过)
  2. 做些简单习题,字符串比较,读取日期之类《python食谱》不错(太难太无趣的,再次跳过,保持兴趣是最重要的,不会的以后可以再学)
  3. 加入Python讨论群,态度友好笑眯眯(很重要,这样高手才会耐心纠正你错误常识)。很多小问题,纠结许久,对方一句话点播思路,真的节约你很多时间.耐心指教我的好人,超级超级多谢.
  4. 解决自己电脑问题.比如下载美剧,零散下载了2,4,5,8集,而美剧共12集,怎样找出漏下的那几集?然后问题分解,1个读取全部下载文件名,2个提取集的数字,3个数字排序和(1-12)对比,找出漏下的。
  5. 时刻记住目的,不是为了当程序员,是为了解决问题.

比如,想偷懒抓网页内容,用urllib不行,用请求也不行,才发现抓取内容涉及那么多方面(Cookie,Header,ssl,url,javascript等等),当然可以听人家劝,回去好好读书,从头读.

或者,不求效率,只求解决,用ie打开网页再另存为行不行?即已经渲染过全部结果了。

问题变成:1–打开指定的10个网页(一行代码就行)。更复杂的想保存呢?利用已经存在的包,比如PAM30(我的是Python3),直接打开ie,用函数out HTML另存为文本,再用搜索函数(str搜索也行,re正则也行)找到数据.简单吧?而且代码超级短.

  1. 保持兴趣,用最简单的方式解决问题,什么底层驱动,各种交换,留给大牛去写吧.我们利用已经有的包完成.
  2. 耐心读文档,并且练习快速读文档.拿到新包,找到自己所需要的函数,是需要快速读一次的.这个不难,读函数名,大概能猜到是干嘛的,然后看看返回值,能判断是不是自己需要的.
  3. 写帮助文件和学习笔记,并发布共享.教别人的时候,其实你已经自己再次思考一次了.

我觉得学程序就像学英文,把高频率的词(循环,判断,常用包,常用函数)搞懂,就能拼装成自己想要的软件.

然后http://stackoverflow.comhttp://Google.com是很好用的.

然后,坚持下去.

一定要保持兴趣,太复杂的跳过,就像小学数学,小学英语,都是由简入深.

网络很平面,无数国际大牛著作好书,关于Python、算法,电脑,网络,或者程序员思路,或者商业思维(浪潮之巅是本好书)等等,还有国际名校的网络公开课(中英文字幕翻译完毕,观看不是难事),讲计算机,网络,安全,或者安卓系统,什么都有,只要能持续保持兴趣,一点点学习下去、不是难事.

所有天才程序员,都曾是儿童,回到儿童思维来理解和学习.觉得什么有趣,先学,不懂的,先放着,遇到问题再来学,效果更好.

唯一建议是,不要太贪心,耐心学好一门优雅的语言,再学其它.虽然Javascript做特效很炫,或提某问题时,有大牛建议,用Ruby来写更好之类,不要改方向。就像老笑话:“要学习递归,必须首先理解递归。”然后死循环一直下去.坚持学好一门语言,再研究其他.

即使一门语言,跟网络,数据库等等相关的部分,若都能学好,再学其他语言,是很快的事情.

另外就是,用学英文的耐心来学计算机,英文遇到不懂的词,抄下,查询.

Python里,看到http,查查定义,看到outHtml,查查定义,跟初学英语时候一样,不要直接猜意思,因为精确描述性定义,跟含糊自然语有区别的。而新人瞎猜,很容易错误理解,维基,谷歌很有用。

芝麻问答:如何学习python点击打开链接作者:@halida

如何学习python

我们假设你是一个初级程序员,只懂得一点点的基础知识,希望能够用Python来做开发.这篇文档就是为了满足以上目标而写的

大纲

按照这篇文档所指示的任务过一遍,你就能够做到:

熟悉Python语言,以及学会Python的编码方式。熟悉Python库,遇到开发任务的时候知道如何去找对应的模块.知道如何查找和获取第三方的Python库,以应付开发任务.学习步骤

安装开发环境

如果你在Window下,去下载Pythonxy安装起来,然后运行Python,进入Python解释环境

如果你在ubuntu下,执行:sudo apt-Get install python,然后在命令行下运行python,进入python解释环境

学习方法

作为一名成熟的开发人员,我学习新东西(假设是PYQT)的习惯方式是:

直接用google搜索pyqt的官方网站.按照官方网站的说明,下载pyqt.(如果是用ubuntu,看看软件库里面是否有足够新的版本)下载过程中,开始阅读官方网站上面的教程.一边看教程,一遍按照教程使用pyqt.谷歌如果发现教程不够全面,用搜索是否有对应的教学书籍可以看。示例学习完毕,开发一个玩具程序,用来检验自己是否需要用到的功能.开始学习python

我建议你学习的过程也按照上面来,首先过一遍Python官方文档:

http://docs.python.org/tutorial/index.html

然后做http://www.pythonchallenge.com/这个网站上面的题目

如果卡在某一关太久,可以看答案(Google Python质询回答),做完后看看别人的编码方式和自己有什么区别

小项目

做完一遍后,你会发现已经熟悉了基本的Python开发.然后做点小项目吧.这里是一些题目,挑感兴趣的去做

  • 写一个简单的计算器/记账软件/扫雷游戏(用pyqt库做界面)
  • 写一个聊天室网站(用Webpy框架,jQuery刷新新的回复)
  • 写一个爬虫,获取豆瓣上面所有用户的地点,画地点分布的直方图(用lxml解析,保存数据到sqlite里面去,用matplotlib画图)

常见问题解答

问:遇到了问题,到哪里求助?

答:上http://groups.google.com/group/python-cn(需要翻墙)或者)http://stackoverflow.com提问就可以了

问:如何查找Python的某个功能?

答:看官方文档。http://docs.python.org/library/index.html

问:如何用Python完成一个任务(比如写网站)?

答:谷歌:python写网站,或者谷歌:python web开发

知乎问答:你是如何自学Python的?点击打开链接作者:@成增存

阶段一:前辈领进门。第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面向对象的”,然后就打印了几句代码.可我怎么也看不出到底哪里是“面向对象”的.前辈说“在Python里,一切皆对象”,我才有点领悟的说道:“原来把什么看成对象,就是面向对象”,哈哈.

阶段二:开始看的是“潜入Python”、“倾倒Python”、“Python Doc”。因为有很多语言学习经历,很快就完成了初步语法和使用学习.太复杂的特性还是在使用中逐步掌握的.

阶段三:开始使用Python做自己的一些日常工作.比如python搜索文件,python批量处理等,使用最多的还是re模块和Socket相关模块。写了大量的例子,让自己对Python更加喜爱,也更加熟悉.此时翻阅最多的是“python医生”的指南。不管是语言参考、库参考、演示参考,都有大量可使用的内容,内容质量很高堪比jdk。

阶段四:生产上马。开始使用Django,长颈瓶,龙卷风开发一些Web应用,写一些日常使用的工具包等。逐步提升设计能力,和整体代码的管理能力.

阶段五:更合理的分配好C,JAVA,Python三门语言各自擅长的部分。把合适的语言用到合适的地方.尽管一门语言有时候可以搞定所有的,但用擅长的语言解决合适的问题才是效率最高的.这也是“python的大道至简”的理念带给我的帮助和认识.

PS:其中过程中主要的一些方法

  1. 看书.学习的基础.
  2. 自己本地练习.编程还是要实践出真知.
  3. 资料查询.谷歌,Stackoverflow等多关注。
  4. 交流.各种论坛上的python群,论坛。最早去的CU、JavaEye、不过现在貌似去的少了。谷歌集团必须订阅.

    学习+实践+总结,掌握语言的法宝.

六、就这么做吧

看了这么多资料了,还没动手敲代码?

好吧,最好一篇文章“我在学习编程中犯的两个最大错误点击打开链接

就这么做吧。动手敲代码吧.

注:本文由@史江歌(shijiangge@gmail.com)根据互联网资料收集整理而成.

七、更新

Python技术博客、招聘、开源软件、Python中文网站导航

遇到python问题怎么样解决?python help dir stackoverflow docs google

在线视频教学(英文)codecademy

英文Python for beginners

英文我如何从零开始学习PythonWeb开发?(各种电子书推荐)点击打开链接

Python应用与实践python是什么?谁在用它?相关工具?作者:@吴秦

Python模块学习相当于翻译官网文档

针对有其他语言经验的人,英文:Learn X in Y minutes中文翻译Y分钟学会Python(译)

PyCoder’s Weekly 中文翻译说明:文章质量很高

PEP 20 (Python之禅) 的实例说明:CODE_STYPE

Unicode之痛必读

有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解必读

stackoverflow上Python相关回答整理翻译

Python语言总结-初级中级高级教程作者:@Crifan Li

Python Guide Python 最佳实践(英文)

Python 最佳实践指南(中文)关于Python安装、配置、和日常使用的最佳实践手册.

Python 最佳实践指南 2018Python日常使用的最佳实践,高级Python开发者必知必会的知识

《码农周刊》干货精选(Python 篇)精选总结

Python 3 Module of the Weekpython标准库的使用

Python – 100天从新手到大师100天从新手到大师

Python 和 Diango 学习资料,书籍,文章,以及实战项目

What the f*ck Python!

https://github.com/leisurelicht/wtfpython-cn

八、爬虫以及模拟登陆新浪微博

知乎:Python 爬虫如何入门学习

Python爬虫学习系列教程 @崔庆才系列教程,入门、实战、爬虫利器介绍、进阶

Python模拟登录新浪微薄(使用RSA加密方式和Cookies文件)

http://uliweb.clkg.org/tutorial/view_chapter/240

一个简单的分布式新浪微博爬虫

用python爬虫抓站的一些技巧总结

使用python爬虫抓站的一些技巧总结:进阶篇

网络爬虫系列

九、工具

Windows系统下、Python相关包Windows Binaries for Python Extension Packages

BlenderGIS 加载项在Blender和地理数据之间架起桥梁

Mac用户警告:目前,该插件不能在Blender 2.80至2.82版本的Mac上运行。请不要在这里报告这个问题,它已经在搅拌机2.83中解决了。检查the bug report

WikiFAQQuick start guideFlowchart

功能概述

GIS数据文件导入:以Blender Most Commons GIS数据格式导入:shapefile矢量、栅格图像、Geotiff DEM、OpenStreetMap XML

使用BlenderGIS根据地理数据创建3D地形的可能性很大,请查看Flowchart要有一个概观

示例:导入矢量等高线,通过三角剖分创建面,并放置地形栅格纹理

直接从Web获取地理数据:在Blender 3D视图中显示动态Web地图,请求OpenStreetMap数据(建筑、道路),从NASA SRTM任务中获取真实高程数据

以及更多内容:管理场景的地理配准信息、通过Delaunay三角测量计算terrain网格、将对象放置到terrain网格上、使用着色器节点进行terrain分析、根据带地理标记的照片设置新相机、设置相机以使用Blender渲染新的地理配准栅格

Dataset-易于使用的SQL数据存储数据处理,支持隐式表创建、大容量装载和事务

DataSet:面向懒人的数据库

总之,数据集使读取和写入数据库中的数据与读取和写入JSON文件一样简单

Read the docs

要安装数据集,请使用以下命令获取它pip

$ pip install dataset

注:从版本1.0开始,数据集被分成两个包,现在将数据导出功能提取到一个独立的包中,数据流转请参阅相关存储库here

IoT-For-Beginners-面向初学者的物联网课程

微软的Azure云倡导者很高兴提供为期12周、24节课的IoT基础知识课程。每节课包括课前和课后测验、完成课程的书面说明、解决方案、作业等。我们的基于项目的教学法允许您边学边建,这是一种行之有效的新技能“坚持”的方法

这些项目涵盖了食物从农场到餐桌的旅程。这包括农业、物流、制造业、零售业和消费业-所有这些领域都是物联网设备的热门行业领域

衷心感谢我们的作者Jen FoxJen LooperJim Bennett,和我们的素描艺术家Nitya Narasimhan

也感谢我们的团队Microsoft Learn Student Ambassadors他们一直在审阅和翻译这门课程-Aditya GargAnurag SharmaArpita DasAryan JainBhavesh SunejaFaith HunjaLateefah BelloManvi JhaMireille TanMohammad Iftekher (Iftu) Ebne JalalMohammad ZulfikarPriyanshu SrivastavThanmai Gowducheruvu,以及Zina Kamel

见见团队吧!

教师,我们有included some suggestions如何使用这门课程。如果您想创建您自己的课程,我们还提供了一个lesson template

学生,自学使用本课程,分叉整个回购,自己完成练习,先从讲前小考开始,然后朗读讲座,完成活动的睡觉。尝试通过理解课程而不是复制解决方案代码来创建项目;但是,在每个面向项目的课程的/Solutions文件夹中都可以找到该代码。另一个想法是和朋友们组成一个学习小组,一起学习内容。为了进一步研究,我们建议Microsoft Learn

有关本课程的视频概述,请查看此视频:

🎥点击上面的图片观看关于该项目的视频!

教育学

在构建这门课程时,我们选择了两个教学原则:确保它是基于项目的,并包括频繁的测验。到本系列结束时,学生们将构建植物监控和浇水系统、车辆跟踪器、用于跟踪和检查食物的智能工厂设置以及声控烹饪定时器,并将学习物联网的基础知识,包括如何编写设备代码、连接到云、分析遥测和在边缘运行人工智能

通过确保内容与项目一致,这一过程对学生来说更具吸引力,并将增加对概念的保留

此外,课前的一次低风险的测验可以确定学生学习某一主题的意图,而课后的第二次测验可以确保学生更好地记住某一主题。本课程设计灵活有趣,可以全部或部分选修。这些项目一开始规模很小,到12周周期结束时变得越来越复杂。

每个项目都基于学生和业余爱好者可用的真实硬件。每个项目都着眼于特定的项目领域,提供相关的背景知识。要成为一名成功的开发人员,了解您正在解决问题的领域是很有帮助的,只要提供此背景知识,学生就可以在他们作为物联网开发人员可能被要求解决的那种现实世界问题的背景下思考他们的物联网解决方案和学习。学生了解他们正在构建的解决方案的“原因”,并了解最终用户

硬件

我们有两种物联网硬件可供选择,具体取决于个人偏好、编程语言知识或偏好、学习目标和可用性。我们还为那些无法访问硬件或想要在承诺购买之前了解更多信息的人提供了一个“虚拟硬件”版本。你可以阅读更多,并在网上找到一份“购物清单”。hardware page,包括从Seeed Studio的朋友那里购买完整套件的链接

💁找到我们的Code of ConductContributing,以及Translation指导方针。我们欢迎您的建设性意见!

每节课包括:

  • 草图注释
  • 可选补充视频
  • 课前热身测验
  • 书面课
  • 有关基于项目的课程,请参阅有关如何生成项目的分步指南
  • 知识检查
  • 一项挑战
  • 补充阅读
  • 作业
  • 课后测验

关于测验的一个注解:所有的测验都包含在内in this app,共48个测验,每个测验3个问题。它们是从课程内部链接的,但测验应用程序可以在本地运行;请按照中的说明进行操作quiz-app文件夹。他们正在逐渐本地化。

课程

项目名称 教授的概念 学习目标 链接的课程
01 Getting started 物联网简介 在设置您的第一台物联网设备时,了解物联网的基本原理以及物联网解决方案的基本构建块,如传感器和云服务 Introduction to IoT
02 Getting started 更深入地研究物联网 了解有关物联网系统组件以及微控制器和单板计算机的更多信息 A deeper dive into IoT
03 Getting started 通过传感器和执行器与物理世界交互 了解用于从物理世界收集数据的传感器和用于发送反馈的执行器,同时构建夜灯 Interact with the physical world with sensors and actuators
04 Getting started 将您的设备连接到互联网 通过将夜灯连接到MQTT代理,了解如何将物联网设备连接到Internet以发送和接收消息 Connect your device to the Internet
05 Farm 预测植物生长 了解如何使用物联网设备捕获的温度数据预测植物生长 Predict plant growth
06 Farm 检测土壤水分 了解如何检测土壤水分和校准土壤水分传感器 Detect soil moisture
07 Farm 植物自动浇水 了解如何使用继电器和MQTT自动和定时浇水 Automated plant watering
08 Farm 将您的工厂迁移到云 了解云和云托管的物联网服务,以及如何将您的工厂连接到这些服务之一,而不是公共MQTT代理 Migrate your plant to the cloud
09 Farm 将您的应用程序逻辑迁移到云 了解如何在云中编写响应物联网消息的应用程序逻辑 Migrate your application logic to the cloud
10个 Farm 确保您的工厂安全 了解物联网的安全性,以及如何使用密钥和证书保护您的工厂安全 Keep your plant secure
11个 Transport 位置跟踪 了解物联网设备的GPS位置跟踪 Location tracking
12个 Transport 存储位置数据 了解如何存储物联网数据以便稍后可视化或分析 Store location data
13个 Transport 可视化位置数据 了解有关在地图上可视化位置数据以及地图如何以2维形式表示真实3D世界的信息 Visualize location data
14. Transport 土工栅栏 了解GeoFence,以及如何使用它们在供应链中的车辆接近目的地时发出警报 Geofences
15个 Manufacturing 培训一名水果质量检测员 了解有关在云中培训图像分类器以检测水果质量的信息 Train a fruit quality detector
16个 Manufacturing 通过物联网设备检查水果质量 了解如何使用物联网设备上的水果质量检测仪 Check fruit quality from an IoT device
17. Manufacturing 在边缘运行你的水果探测器 了解有关在边缘的物联网设备上运行水果检测器的信息 Run your fruit detector on the edge
18岁 Manufacturing 从传感器触发水果质量检测 了解如何从传感器触发水果质量检测 Trigger fruit quality detection from a sensor
19个 Retail 培训一名库存检验员 了解如何使用对象检测来训练库存检测器清点商店中的库存 Train a stock detector
20个 Retail 检查物联网设备的库存 了解如何使用对象检测模型检查物联网设备的库存 Check stock from an IoT device
21岁 Consumer 使用物联网设备识别语音 了解如何识别来自物联网设备的语音以构建智能计时器 Recognize speech with an IoT device
22 Consumer 理解语言 了解如何理解对物联网设备说的句子 Understand language
23个 Consumer 设置计时器并提供语音反馈 了解如何在物联网设备上设置计时器,并就计时器何时设置和何时结束提供口头反馈 Set a timer and provide spoken feedback
24个 Consumer 支持多种语言 了解如何支持多种语言,包括与您的智能计时器对话和从您的智能计时器响应 Support multiple languages

脱机访问

您可以使用以下命令脱机运行此文档Docsify分叉这个回购,install Docsify在本地计算机上,然后在此存储库的根文件夹中键入docsify serve该网站将在您的本地主机上的端口3000上提供服务:localhost:3000

PDF格式

如果需要,您可以生成此内容的PDF以供脱机访问。要做到这一点,请确保您拥有npm installed并在此存储库的根文件夹中运行以下命令:

npm i
npm run convert

需要帮助!

你愿意贡献一份翻译吗?请阅读我们的translation guidelines并添加输入to one of the translations issues如果您想要翻译成一种新的语言,请提出一个新的问题进行跟踪

其他课程

我们团队制作其他课程!查看:

图像属性

您可以在本课程中所需的位置找到本课程中使用的图像的所有属性Attributions

Python-dotenv-获取并设置本地和生产服务器中的.env文件中的值为环境变量

python-dotenv从.env并可以将它们设置为环境变量。它有助于遵循以下条件的应用程序开发12-factor原则

快速入门

pip install python-dotenv

如果您的应用程序从环境变量(如12因素应用程序)获取其配置,则在开发中启动它并不是很实际,因为您必须自己设置这些环境变量

为了帮助您做到这一点,您可以将python-dotenv添加到您的应用程序中,使其从.env文件存在时(例如,在开发中),同时保持可通过环境进行配置:

from dotenv import load_dotenv

load_dotenv()  # take environment variables from .env.

# Code of your application, which uses environment variables (e.g. from `os.environ` or
# `os.getenv`) as if they came from the actual environment.

默认情况下,load_dotenv不覆盖现有环境变量

若要配置开发环境,请添加.env在项目的根目录中:

.
├── .env
└── foo.py

的语法.envpython-dotenv支持的文件与Bash相似:

# Development settings
DOMAIN=example.org
ADMIN_EMAIL=admin@${DOMAIN}
ROOT_URL=${DOMAIN}/app

如果在值中使用变量,请确保用{},就像${DOMAIN},作为赤裸裸的变量,如$DOMAIN不会展开

您可能想要添加.env致您的.gitignore,特别是如果它包含密码之类的秘密

请参见下面的“文件格式”一节,了解有关可以在.env文件

其他使用情形

在不更改环境的情况下加载配置

该函数dotenv_values其工作方式与load_dotenv,除非它不接触环境,它只是返回一个dict使用从.env文件

from dotenv import dotenv_values

config = dotenv_values(".env")  # config = {"USER": "foo", "EMAIL": "foo@example.org"}

这显著实现了高级配置管理:

import os
from dotenv import dotenv_values

config = {
    **dotenv_values(".env.shared"),  # load shared development variables
    **dotenv_values(".env.secret"),  # load sensitive variables
    **os.environ,  # override loaded values with environment variables
}

将配置解析为流

load_dotenvdotenv_values接受streams通过他们的stream论点。因此,可以从文件系统以外的源(例如,网络)加载变量

from io import StringIO

from dotenv import load_dotenv

config = StringIO("USER=foo\nEMAIL=foo@example.org")
load_dotenv(stream=config)

在IPython中加载.env文件

您可以在IPython中使用dotenv。默认情况下,它将使用find_dotenv要搜索某个对象,请执行以下操作.env文件:

%load_ext dotenv
%dotenv

您还可以指定路径:

%dotenv relative/or/absolute/path/to/.env

可选标志:

  • -o要覆盖现有变量,请执行以下操作
  • -v以提高冗长程度

命令行界面

CLI界面dotenv也包括在内,它可以帮助您操作.env文件,而无需手动打开它

$ pip install "python-dotenv[cli]"
$ dotenv set USER foo
$ dotenv set EMAIL foo@example.org
$ dotenv list
USER=foo
EMAIL=foo@example.org
$ dotenv run -- python foo.py

dotenv --help有关选项和子命令的详细信息

文件格式

该格式没有正式指定,并且随着时间的推移仍在改进。话虽如此,.env文件应该主要看起来像Bash文件

键可以是无引号的,也可以是单引号的。值可以是无引号的、单引号的或双引号的。键前后的空格、等号和值将被忽略。值后面可以跟注释。行可以以export指令,该指令对它们的解释没有影响

允许的转义序列:

  • 在单引号的值中:\\\'
  • 在双引号的值中:\\\'\"\a\b\f\n\r\t\v

多行值

单引号或双引号的值可以跨多行。以下示例等效:

FOO="first line
second line"
FOO="first line\nsecond line"

变量展开

Python-dotenv可以使用POSIX变量展开来插值变量

使用load_dotenv(override=True)dotenv_values()变量的值是下表中定义的第一个值:

  • 中该变量的值。.env文件
  • 环境中该变量的值
  • 默认值(如果提供)
  • 空字符串

使用load_dotenv(override=False)变量的值是下表中定义的第一个值:

  • 环境中该变量的值
  • 中该变量的值。.env文件
  • 默认值(如果提供)
  • 空字符串

相关项目

确认

此项目当前由Saurabh KumarBertrand Bonnefoy-Claudet如果没有这些人的支持是不可能的awesome
people

Sphinx-Sphinx文档构建器的主存储库

Sphinx是一个由Georg Brandl编写的工具,它可以很容易地为Python项目创建智能而漂亮的文档(或其他由多个reStrinredText源组成的文档)。它最初是为新的Python文档创建的,具有用于Python项目文档的优秀工具,但也支持C/C++,并计划使用更多语言

Sphinx使用reStrutiredText作为其标记语言,它的许多优点来自于reStrtifredText及其解析和翻译套件Docutils的强大和直截了当

它的功能包括以下几个方面:

  • 输出格式:HTML(包括HTML帮助、epub和Qt帮助等衍生格式)、纯文本、手册页和LaTeX或使用rst2pdf直接输出PDF
  • 广泛的交叉引用:函数、类、术语表术语和类似信息的语义标记和自动链接
  • 层次结构:轻松定义文档树,自动链接到兄弟、父代和子代
  • 自动索引:一般索引和模块索引
  • 代码处理:使用Pygments高亮显示笔自动高亮显示
  • 使用JJJA2模板引擎灵活的HTML输出
  • 各种扩展都是可用的,例如,用于自动测试摘录和包括适当格式化的文档字符串
  • Setuptools集成

有关更多信息,请参阅the documentation

安装

狮身人面像发表于PyPI并且可以从那里安装:

pip install -U sphinx

我们还发布测试版:

pip install -U --pre sphinx

如果您希望出于开发目的安装Sphinx,请参阅the
contributors guide

文档

文档可从以下网址获得:sphinx-doc.org

保持联系

  • 报告错误、建议功能或查看源代码on GitHub
  • 对于定义不明确的问题或想法,请使用mailing list

请遵守我们的code of conduct

测试

持续测试由Travis(对于Linux上的单元测试和样式检查),AppVeyor(适用于Windows上的单元测试),以及CircleCI(适用于像TeX编译这样的大型进程)

有关在本地运行测试的信息,请参阅the contributors guide

贡献

请参阅the contributors guide

版本签名

版本使用以下密钥签名: