From 2610014400813e9ec2e2657e45b784bb974bf328 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Mon, 9 Sep 2019 14:02:36 +0800 Subject: [PATCH 01/37] Add files via upload --- qrcode.jpg | Bin 0 -> 28097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 qrcode.jpg diff --git a/qrcode.jpg b/qrcode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e763a2e77af9a8ab55e5ae6277625117443c094f GIT binary patch literal 28097 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 M%m1JJFRm;2Khab-`2YX_ literal 0 HcmV?d00001 From 33443081f3e5f909f08d3458ac6ef179fcc6f33c Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Mon, 9 Sep 2019 14:03:01 +0800 Subject: [PATCH 02/37] Delete qrcode.png --- qrcode.png | Bin 44010 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 qrcode.png diff --git a/qrcode.png b/qrcode.png deleted file mode 100644 index 4b36c58b1920504624bf70637797e4bc259dd378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44010 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 YU-Hx~w7H49F9m)q&24@vF+CUgZ?Vb#9{>OV From 5b1c1bded2f0a52fdcd6d808f6be3fd2741ec9d9 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Mon, 9 Sep 2019 14:03:24 +0800 Subject: [PATCH 03/37] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a245e1..807679a 100644 --- a/README.md +++ b/README.md @@ -56,4 +56,4 @@ 内测微信群 - + From 95abbd825d363a0508cb40bb34d1e20a6a6d704a Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Mon, 9 Sep 2019 14:06:04 +0800 Subject: [PATCH 04/37] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 807679a..c6f0539 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,6 @@ 飞蟒Python学习小组内测中,欢迎大家参加免费的内测 -内测微信群 +扫描下面的二维码,回复『训练营』关键字加群 - + From 3966327e5d6bdb78f91e4e46225513ebfaf3d15f Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Mon, 9 Sep 2019 14:09:39 +0800 Subject: [PATCH 05/37] Update README.md --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c6f0539..473ee25 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,9 @@ +#### 飞蟒Python训练营 - -#### 飞蟒学习小组 - -飞蟒Python学习小组内测中,欢迎大家参加免费的内测 +飞蟒Python训练营内测中,欢迎大家参加免费的内测 扫描下面的二维码,回复『训练营』关键字加群 From 41ec0ff77366b2ee0e7d69a5fcaf3f93f61661c4 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 25 Oct 2019 12:57:31 +0800 Subject: [PATCH 06/37] Update README.md --- README.md | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 473ee25..2ca433c 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,38 @@ # FlyPython +https://flypython.com + + +## news + +- [python official](https://www.python.org/) +- [realpython](https://realpython.com) +- medium [python](https://medium.com/tag/python) +- reddit [python](https://www.reddit.com/r/Python/) [learn python](https://www.reddit.com/r/learnpython/) [python tips](https://www.reddit.com/r/pythontips/) + ## Python Books #### Beginner -- 《PYTHON CRASH COURSE: A HANDS-ON, PROJECT-BASED INTRODUCTION TO PROGRAMMING》 +- 《Python Crash Course: A Hands-On, Project-Based Introduction to Programming》 + - ※※※※※ + - [Amazon](https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036) + - 《STARTING OUT WITH PYTHON (4TH EDITION)》 -- 《AUTOMATE THE BORING STUFF WITH PYTHON: PRACTICAL PROGRAMMING FOR TOTAL BEGINNERS》 + - ※※※※※ + - [Amazon](https://www.amazon.com/Starting-Out-Python-Tony-Gaddis/dp/0134444329) + +- 《Automate the Boring Stuff with Python: Practical Programming for Total Beginners 》 + - ※※※※※ + - [Amazon](https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994) + + +## Course + +#### Beginer + - [Python for Everybody](https://www.coursera.org/specializations/python) + + ## Python书籍列表 @@ -34,11 +60,12 @@ - #### 参考资源 - https://pythonbooks.org/ + + ## Python课程列表 #### 初学者 From 80e8891264a823720fcf10a47da2b1e9241d2288 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 25 Oct 2019 13:03:24 +0800 Subject: [PATCH 07/37] Update README.md --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ca433c..d10a9d2 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ https://flypython.com -## news +## Python News - [python official](https://www.python.org/) - [realpython](https://realpython.com) - medium [python](https://medium.com/tag/python) -- reddit [python](https://www.reddit.com/r/Python/) [learn python](https://www.reddit.com/r/learnpython/) [python tips](https://www.reddit.com/r/pythontips/) +- reddit [python](https://www.reddit.com/r/Python/) [learn python](https://www.reddit.com/r/learnpython/) [python tips](https://www.reddit.com/r/pythontips/) ## Python Books @@ -34,6 +34,11 @@ https://flypython.com +## Data Science + +#### matplotlib +- [AnatomyOfMatplotlib] (https://github.com/matplotlib/AnatomyOfMatplotlib) + ## Python书籍列表 From bca3b294e61a7d831b16ff78ed51e76ec0e74e6c Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 25 Oct 2019 13:05:08 +0800 Subject: [PATCH 08/37] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d10a9d2..b14e3f5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ https://flypython.com - [python official](https://www.python.org/) - [realpython](https://realpython.com) - medium [python](https://medium.com/tag/python) -- reddit [python](https://www.reddit.com/r/Python/) [learn python](https://www.reddit.com/r/learnpython/) [python tips](https://www.reddit.com/r/pythontips/) +- reddit [python](https://www.reddit.com/r/Python/) | [learn python](https://www.reddit.com/r/learnpython/ | [python tips](https://www.reddit.com/r/pythontips/) ## Python Books @@ -37,7 +37,7 @@ https://flypython.com ## Data Science #### matplotlib -- [AnatomyOfMatplotlib] (https://github.com/matplotlib/AnatomyOfMatplotlib) +- [AnatomyOfMatplotlib](https://github.com/matplotlib/AnatomyOfMatplotlib) ## Python书籍列表 From bd21ed85b540653c811b7f7a63873cedb8a5ff9a Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 25 Oct 2019 13:44:52 +0800 Subject: [PATCH 09/37] Update README.md --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b14e3f5..a47d2d3 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,11 @@ https://flypython.com - [python official](https://www.python.org/) - [realpython](https://realpython.com) -- medium [python](https://medium.com/tag/python) -- reddit [python](https://www.reddit.com/r/Python/) | [learn python](https://www.reddit.com/r/learnpython/ | [python tips](https://www.reddit.com/r/pythontips/) +- [medium](https://medium.com/tag/python) +- reddit + - [python](https://www.reddit.com/r/Python/) + - [learn python](https://www.reddit.com/r/learnpython/) + - [python tips](https://www.reddit.com/r/pythontips/) ## Python Books @@ -37,7 +40,7 @@ https://flypython.com ## Data Science #### matplotlib -- [AnatomyOfMatplotlib](https://github.com/matplotlib/AnatomyOfMatplotlib) +- [AnatomyOfMatplotlib](https://github.com/matplotlib/AnatomyOfMatplotlib) ## Python书籍列表 From bc8315505bb9a7d8ac65bebcf98ba9ff0757af92 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Wed, 6 Nov 2019 15:55:26 +0800 Subject: [PATCH 10/37] Update README.md --- README.md | 983 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 983 insertions(+) diff --git a/README.md b/README.md index a47d2d3..7bb8054 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,166 @@ https://flypython.com - [AnatomyOfMatplotlib](https://github.com/matplotlib/AnatomyOfMatplotlib) +## Github Top 45 + +
+ + +1. [Algorithm](#algorithm) +1. [Guide](#guide) +1. [Structure](#structure) +1. [List](#list) +1. [Class](#class) +1. [Web Scraping](#web-scraping) +1. [Automation](#automation) +1. [Bot](#bot) +1. [Spreasheet](#spreasheet) +1. [Finance](#finance) +1. [Blockchain](#blockchain) +1. [Video Sythesizer](#video-sythesizer) +1. [Performance](#performance) +1. [Django](#django) +1. [Flake](#flake) +1. [NumPy](#numpy) +1. [NashPy](#nashpy) +1. [Markov Process](#markov-process) +1. [Data Analysis](#data-analysis) +1. [Get Started](#get-started) + +
+ +### Recommended Learning + +A) REST APIs: [Build professional REST APIs with Python, Flask, Flask-RESTful, and Flask-SQLAlchemy.](http://bit.ly/2nktytU) [12,602 recommends, 4.6/5 stars] + +B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: Learn numpy , pandas , matplotlib , quantopian , finance.](http://bit.ly/2FfVW8G) [18,077 recommends, 4.6/5 stars] + +
+ +### Algorithm +* [Interactive Python coding interview challenges (algorithms and data structures)](https://github.com/donnemartin/interactive-coding-challenges?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Algorithms: Minimal examples of data structures and algorithms in Python](https://github.com/keon/algorithms?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Pygorithm: A fun way to learn all major Python algorithms](http://pygorithm.readthedocs.io/en/latest?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Guide +* [wtfPython: A collection of interesting, subtle, and tricky Python snippets](https://github.com/satwikkansal/wtfPython?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Structure +* [Alice in Python projectland: A comprehensive guide for how to go from Python scripts to a packaged project.](http://veekaybee.github.io/2017/09/26/python-packaging?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### List +* [Python List Comprehension Tutorial](http://www.datacamp.com/community/tutorials/python-list-comprehension?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Class +* [Enriching Your Python Classes With Dunder (Magic, Special) Methods](https://dbader.org/blog/python-dunder-methods?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Web Scraping +* [Web Scraping With Python: Scrapy, SQL, Matplotlib To Gain Web Data Insights](http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Advanced Web Scraping: Bypassing "403 Forbidden," captchas, and more](http://sangaline.com/post/advanced-web-scraping-tutorial?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Mastering Python Web Scraping: Get Your Data Back](https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Automation +* [Wedding at Scale: How I Used Twilio, Python and Google to Automate My Wedding](https://www.twilio.com/blog/2017/04/wedding-at-scale-how-i-used-twilio-python-and-google-to-automate-my-wedding.html?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [How I used Python to find interesting people to follow on Medium](https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Bot +* [Making a Reddit + Facebook Messenger Bot](https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [My open source Instagram bot (written in Python) got me 2,500 real followers for $5 in server costs](https://medium.freecodecamp.com/my-open-source-instagram-bot-got-me-2-500-real-followers-for-5-in-server-costs-e40491358340?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Spreasheet +* [Python Excel Tutorial: The Definitive Guide - Karlijn Willems](http://www.datacamp.com/community/tutorials/python-excel-tutorial?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Google Sheets and Python](https://www.youtube.com/watch?v=vISRn5qFrkM?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Finance +* [Python For Finance: Algorithmic Trading](https://www.datacamp.com/community/tutorials/finance-python-trading?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Intro and Getting Stock Price Data - Python Programming for Finance p.1 - Sentdex](https://www.youtube.com/watch?v=2BrpKpWwT2A?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Analyzing Cryptocurrency Markets Using Python](https://blog.patricktriest.com/analyzing-cryptocurrencies-python?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Blockchain +* [Learn Blockchains by Building One](https://hackernoon.com/learn-blockchains-by-building-one-117428612f46?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Let’s Build the Tiniest Blockchain](https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Video Sythesizer +* [Building a Video Synthesizer in Python](https://www.makeartwithpython.com/blog/video-synthesizer-in-python?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Performance +* [A million requests per second with Python](https://medium.freecodecamp.com/million-requests-per-second-with-python-95c137af319?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Yes, Python is Slow, and I Don’t Care](https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Memoization in Python: How to Cache Function Results – Dan Bader](https://dbader.org/blog/python-memoization?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Django +* [A Complete Beginner's Guide to Django - Part 1](https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Build a REST API with Django – A Test Driven Approach: Part 1](https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Flake +* [The Big Ol' List of Rules](https://lintlyci.github.io/Flake8Rules?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Developing RESTful APIs with Python and Flask](https://auth0.com/blog/developing-restful-apis-with-python-and-flask?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### NumPy +* [From Python to Numpy](http://www.labri.fr/perso/nrougier/from-python-to-numpy/?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Exploring Line Lengths in Python Packages](http://jakevdp.github.io/blog/2017/11/09/exploring-line-lengths-in-python-packages?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### NashPy +* [Nashpy - Tutorial: building and finding the equilibrium for a simple game](http://nashpy.readthedocs.io/en/latest/tutorial?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Markov Process +* [Simulating Chutes & Ladders in Python](https://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Data Analysis +* [Exploring United States Policing Data Using Python](https://blog.patricktriest.com/police-data-python?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Analyzing 1000+ Greek Wines With Python](https://tselai.com/greek-wines-analysis.html?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [How to Generate FiveThirtyEight Graphs in Python](https://www.dataquest.io/blog/making-538-plots?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Playing with 80 Million Amazon Product Review Ratings Using Apache Spark with Python](http://minimaxir.com/2017/01/amazon-spark?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Fast GeoSpatial Analysis in Python](https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [Planet: Understanding the Amazon from Space, 1st Place Winner's Interview](http://blog.kaggle.com/2017/10/17/planet-understanding-the-amazon-from-space-1st-place-winners-interview?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + +
+ +### Get Started +* [Learning Python: From Zero to Hero](https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [A List of Non Trivial Python Exercises](https://www.ynonperek.com/2017/09/21/python-exercises?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [API Design: Think First, Code Later](https://www.ckl.io/blog/api-design-think-first-code-later?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [The Hitchhiker’s Guide to Machine Learning in Python](https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [How to learn Python programming: 6 experienced Python developers share their learning tips](https://coolpythoncodes.com/best-way-learn-python-programming?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) + + ## Python书籍列表 #### 初学者 @@ -82,6 +242,829 @@ https://flypython.com +## Github Top 45 + +REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API [12,602 个推荐,4.6 / 5 星] + +链接: + +https://www.udemy.com/rest-api-flask-and-python/ + + + +算法交易:用于财务分析和算法交易的 Python,主要学习包括 numpy,pandas,matplotlib,quantopian,finance [8,077 个推荐,4.6 / 5 星] + +链接: + +https://www.udemy.com/python-for-finance-and-trading-algorithms/ + + +年度开源 Python 项目 [平均 4,078 星] + + +链接: + +https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3 + + + +Python 算法 + + +1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) + + +本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 + + +作者: + +Donne Martin;[github-11811 星] + +链接: + +https://github.com/donnemartin/interactive-coding-challenges + + + +2. Python 中算法和数据结构的最小样本 + +如何让 Python 中的数据结构和算法最小、最干净? + +作者: + +keon;[github-10271 星] + +链接: + +https://github.com/keon/algorithms + + + +3. 最重要的 Python 算法 --Pygorithm + +Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 + +作者: + +Satwik Kansal;[github-3156 星] + +链接: + +http://pygorithm.readthedocs.io/en/latest/ + + + + + +Python 综合指南 + +4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython + +作者: + +Satwikkansal;[github-4,933 星] + +链接: + +https://github.com/satwikkansal/wtfPython + + + + + +Python 的脚本结构 + +5. 一个关于如何从 Python 脚本到打包项目的标准化指南 + +作者:Courtesy of Vicki + +链接:http://veekaybee.github.io/2017/09/26/python-packaging + + + + + +Python 中的列表 + +6. Python 列表生成器的教程 + +在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 + +文章首先简单回顾了 Python 中列表的基本概念,并与 Python 中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。 + +作者:Karlijn Willems + +链接:https://www.datacamp.com/community/tutorials/python-list-comprehension + + + + + +Python 中的类 + +7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 + +Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 + +作者:Dan Bader + +链接:https://dbader.org/blog/python-dunder-methods + + + + +Python 中的网页抓取 + +8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 + +你可以通过这篇文章学习到网页爬取知识,并用于实践中。 + +作者:ScrapingAuthority + +链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/ + + + +9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 + +作者:Evan Sangaline + +链接:http://sangaline.com/post/advanced-web-scraping-tutorial/ + + + +10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 + +作者:Lauren Glass 和 Hackernoon + +链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88 + + + + + +Python 中的自动化操作 + +11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 + +作者:Thomas Curtis + +链接:https://www.twilio.com/blog/2017/04/wedding-at-scale-how-i-used-twilio-python-and-google-to-automate-my-wedding.html + + + +12. 如何用 Python 在 Medium 上找到有趣的人 + +作者:Radu Raicea 和 freeCodeCamp。 + +链接:https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0 + + + + + +Python 中的 Bot +13. 制作 Reddit+Facebook 的信息箱 + +作者: + +Yasoob Khalid + +链接: + +https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/ + + + +14. 我在 Instagram 上用 Python 写的开源机器人 (让我拥有了 2500 个粉丝,所花的服务器成本只有 5 美元) + +作者: + +TimG + +链接: + +https://medium.freecodecamp.org/my-open-source-instagram-bot-got-me-2-500-real-followers-for-5-in-server-costs-e40491358340 + + + +Python 中的电子表格 + +15. 权威指南:Python 的 Excel 教程 + +通过这个教程,你可以了解如何使用 Python 读取和导入 Excel 文件,如何将数据写入这些电子表格。 + +作者: + +Karlijn Willems + +链接: + +https://www.datacamp.com/community/tutorials/python-excel-tutorial + + + +16. Python 和 Googgle 电子表格 + +作者: + +Brent Schooley + +链接: + +https://www.youtube.com/watch?v=vISRn5qFrkM + + + + + +Python 中的金融应用 + +17. Python 中的金融:算法交易 + +这是一份 Python 与金融应用的教程,在此你能学习到算法交易的基本知识及相关内容。 + +作者: + +Karlijn Willems + +链接: + +https://www.datacamp.com/community/tutorials/finance-python-trading + + + +18. Python 中的金融教程 — 股票价格及相关数据介绍 + +作者: + +Harrison Kinsley + +链接: + +https://www.youtube.com/watch?v=2BrpKpWwT2A + + + +19. 用 Python 分析加密货币市场 + + + +比特币市场是如何表现?加密货币价值突然出现高峰和低谷的原因是什么?不同 altcoins 市场是不可分割的或基本独立的?我们如何预测接下来会发生什么? + + + +这篇文章将简单地介绍如何使用 Python 来分析加密货币。文章通过一个简单的 Python 脚本来检索,分析和可视化不同加密货币上的数据。在这个过程中,文章还将揭示这些波动剧烈的市场行为以及一个有趣的演变趋势。 + + + +作者: + +Patrick Triest + +链接: + +https://blog.patricktriest.com/analyzing-cryptocurrencies-python/ + + + + + +Python 中的区块链 + + + +20. 学习并构建一个区块链 + + + +毫无疑问,区块链这项新颖的技术是计算的奇迹。区块链技术的出现引发了新的全数字货币,如比特币和莱特币,而这些货币并非由中央当局发行或管理。区块链也以 Ethereum 这样的技术形式革命化了分布式计算,并引入了智能合约等有趣的概念。 + + + +这篇文章将会帮助你学习并理解区块链的工作原理。通过这篇教程,你将学习到一个功能强大的区块链,并掌握它们的工作流程。 + + + +作者: + +Daniel van Flymen 和 Hackernoon + +链接: + +https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 + + + +21. 如何构建一个最小的区块链 + + + +本文将用少于 50 行的代码 (Python2) 来创建一个最简单、最小的区块链。 + + + +作者: + +Gerald Nash + +链接: + +https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b + + + + + +Python 中的视频合成 + + + +22. 用 Python 构建一个视频合成器 + + + +视频合成器是利用音频输入来创建视觉信号的设备,自上世纪 60 年代以来,已有很长的历史。 + + + +这篇文章将用 Python 编写一个基本的视频合成器,并使用 aubio 进行 Onset 目标检测。 + + + +作者: + +Kirk Kaiser + +链接: + +https://www.makeartwithpython.com/blog/video-synthesizer-in-python/ + + + + + +Python 的性能 + + + +23. 用 Python 处理每秒 100 万个请求 + + + +用 Python 每秒能够达到 100 万个请求吗?为了节省服务器价格,最近很多公司正在从 Python 向其他编程语言中迁移。但实际并不需要。 + + + +Python 社区最近在性能提升方面做了很多工作。CPython 3.6 通过新的字典提高了整体解释器的性能。由于引入了更快的调用约定和字典查找缓存,CPython 3.7 将会更快。 + + + +对于数字处理任务,你可以使用 PyPy 进行代码编译。你还可以运行 NumPy 的测试套件,该测试套件现在已经改进了 Python 与 C 语言扩展的整体兼容性。在随后的更新版本中,PyPy 预计将与 Python 3.5 兼容。 + + + +作者: + +Paweł Piotr Przeradowski。 + +链接: + +https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319 + + + +24. “Python 很慢,但我不在乎” + + + +这篇文章将介绍一些关于 Python 中 asyncio 的内容,并讨论有关 Python 速度的问题。 + + + +作者: + +Nick Humrich + +链接: + +https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1 + + + +25. Python 中的缓存:如何缓存函数的结果 + + + +文章将介绍一种快捷的方法来加速 Python 记忆代码。你将看到何时以及如何运用 Python 记忆代码。记忆代码优化你的程序,在某些情况下会加速你的代码运行。 + + + +链接: + +https://dbader.org/blog/python-memoization + + + + + +Python 中的 Django 框架 + + + +26. 七步骤带你完整地学习 Django + + + +Django 是用 Python 编写的一个 Web 框架。这篇文章是介绍 Django 基础知识的系列教程,共分为七个部分,将分别从安装,准备开发环境,模型,视图,模板,URL 到更高级的主题(如迁移,测试和部署)出发,详细探讨所有的基本概念。 + + + +作者: + +Vitor Freitas + +链接: + +https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html + + + +27. 使用 Django 构建 REST API 的测试驱动方法:第一部分 + + + +这篇文章将介绍如何利用 Django 来构建一个 REST API 的测试驱动,并详细介绍了每个步骤。 + + + +作者: + +Jee Githinji Gikera 和 Scotch Development + +链接: + +https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1 + + + + + +Python 中的 Flake + + + +28. OI’List 规则 + + + +这篇博文中我们将介绍 Flake8(pyflakes,pycodestyle 和 mccabe)中的每个规则及相对应的示例。 + + + +链接: + +https://lintlyci.github.io/Flake8Rules/ + + + +29. 使用 Python 和 Flask 开发 RESTful API + + + +本文包括以下几部分:为什么用 Python;什么是 Flask;引导 Flask 应用程序 + +用 Flask 创建一个 RESTful 端点;用 Python 类映射模型;用 Marshmallow 进行序列化和反序列化对象;Dockerizing Flask 应用程序;用 Auth0 保护 Python API + + + +作者: + +Bruno Krebs + +链接: + +https://auth0.com/blog/developing-restful-apis-with-python-and-flask/ + + + + + +Python 中的 Numpy + + + +30. 从 Python 到 Numpy + + + +本文通过一种新颖的方式,向量化地集中讲解了如何从 Python 迁移到 Numpy 的学习。另外,本文还包括一些很少提到的使用技巧。 + + + +链接: + +http://www.labri.fr/perso/nrougier/from-python-to-numpy/ + + + +31. 探索 Python 每种工具包的行长度 + + + +本文探索了 Python 的流行包,如 NumPy,SciPy,Pandas,Scikit-Learn,Matplotlib,AstroPy 等。 + + + +作者: + +Jake VanderPlas + +链接: + +http://jakevdp.github.io/blog/2017/11/09/exploring-line-lengths-in-python-packages/ + + + + + +Python 中的 NashPy + + + +32. NashPy 教程 — 建立并找到一种简单的游戏平衡 + + + +博弈论是用来研究理性主体之间的战略互动:当双方试图采用对各自最有益的方式来完成某件事情时,对双方互动行为的研究。这篇文章将采用 Python 中的 NashPy 来研究这种双方博弈的互动行为。 + + + +链接: + +http://nashpy.readthedocs.io/en/latest/tutorial/ + + + + + +Python 中的马尔可夫过程 + + + +33. 用 Python 模拟 Chutes 和 Ladders + + + +这篇文章将通过 Chutes 和 Ladders 游戏的例子,建立模型并阐述马尔可夫过程的原理。整个分析过程附有 Python 源码,感兴趣的读者可以尝试一下。 + + + +作者: + +Jake VanderPlas + +链接: + +http://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders/ + + + + + +Python 中的数据分析 + + + +34. 用 Python 分析美国联邦政治行为 + + + +科学,政治,个人意见和社会政策的交集可能呈现相当复杂的情况。思想和学科的交汇点通常充斥着有争议的观点和基于信仰但缺乏经验证据的议程。这时,数据科学在这方面就显得特别重要,因为它提供了一种以实际事实为基础的考察世界的方法,能够深入了解我们今天所面临的一些最重要的问题。 + + + +这篇文章我们将用 Python 来分析美国联邦政府的一些政治行为,深入了解政治背后所隐藏的故事。 + + + +作者: + +Patrick Triest + +链接: + +https://blog.patricktriest.com/police-data-python/ + + + +35. 用 Python 分析 1000 + 的希腊葡萄酒 + + + +作者: + +Florents Tselai + +链接: + +https://tselai.com/greek-wines-analysis.html + + + + + +36. 如何用 Python 生成 FiveThirtyEight 图 + + + +这篇文章将用 Python 的 matplotlib 和 pandas,来学习并查看 FiveThirtyEight(FTE)可视化的核心部分,并教会你使用 Python 来为自己的数据进行可视化。 + + + +作者: + +Josh Devlin + +链接: + +https://www.dataquest.io/blog/making-538-plots/、 + + + + + +37. 使用 Apache Spark 和 Python 为 8000 万 Amazon 产品进行评价打分 + + + +作者编写了一个简单的 Python 脚本,将亚马逊产品评论数据集中的每类评分数据进行整合,并对这些 Amazon 产品评论数据进行分析打分,以发现用户的喜好。 + + + +作者: + +Max Woolf + +链接: + +http://minimaxir.com/2017/01/amazon-spark/ + + + + + +38. 使用 Python 进行地理空间分析 + + + +作者: + +Matthew Rocklin + +链接: + +https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1 + + + + + +39. 星球:从太空中了解亚马逊,来自 Kaggle 头奖获奖者的采访 + + + +文章采访了 Kaggle 的 “星球:从太空中了解亚马逊” 竞赛的获奖者,内容包括他如何使用 11 个微调的卷积神经网络,标签关联的结构模型,以及如何避免过拟合现象等。 + + + +作者: + +Edwin Chen + +链接: + +http://blog.kaggle.com/2017/10/17/planet-understanding-the-amazon-from-space-1st-place-winners-interview/ + + + + + +Python 入门 + + + +40. 从零开始学习 Python + + + +Python 的创建者 Guido van Rossum 曾说过,“Python 是一个高级编程语言,其核心设计理念是让代码具有高度的可读性和简单的语法,程序员可以用几行代码表达自己的想法。” + + + +作者: + +TK + +链接: + +https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567 + + + + + +41. 重要的 Python 练习清单 + + + +这篇文章列出了一些重要的练习项目,包括 Python 语言本身和标准库的练习。文章中还有 Python 中不同主题模块的知识。 + + + +作者: + +Ynon Perek + +链接: + +https://www.ynonperek.com/2017/09/21/python-exercises/ + + + + + +42. API 的设计原则:先思考再编码 + + + +API 是定义应用程序接口的通用术语,换句话说,就是用户(人或机器)与程序的交互接口。在 Web 开发世界中,API 通常是一个网站,其中包含一系列端点,用于响应客户端请求和结构化文本数据。这篇文章将告诉你为什么以及如何设计一个正确的 API,如何将自己的思想植入到 API 的设计中来构建属于你自己的 API。 + + + +作者: + +Jonatas Baldin + +链接: + +https://www.ckl.io/blog/api-design-think-first-code-later + + + + + +43. Python 机器学习指南 + + + +本文将通过清晰地解释和有效的练习,来帮助你深度理解相关的机器学习算法。 + + + +作者: + +Conor Dewey + +链接: + +https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378 + + + + + +44. 如何学习 Python 编程:6 位经验丰富的 Python 开发者分享了他们的观点 + + + +对于当下热门的 Python 语言,有太多的教程、书籍、视频和博客文章资源,然而如此多的冗余资料,你该如何选择最佳的方式开始你的 Python 学习之旅呢?这篇文章列出了 6 位 Python 专家分享的学习经验,相信这对于迷茫中的你来说,将受益匪浅。 + + + +链接: + +https://coolpythoncodes.com/best-way-learn-python-programming + + + +45. 如何用 Python 实现强大的数据分析 + + + +Python 是数据分析的最佳编程语言,这得益于它自带的依赖库。依赖库能够存储,操纵数据,并从数据中获得核心信息,因而在数据科学领域被广泛使用并展现出强大的功能。本文介绍了 Python 在数据科学领域的应用历史以及最新发展。 + + + +作者: + +Jake VanderPlas + +链接: + +https://www.youtube.com/watch?v=9by46AAqz70 + #### 飞蟒Python训练营 From da8c9891c4e3ef84865b45971a85147b038b748a Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Wed, 6 Nov 2019 16:01:05 +0800 Subject: [PATCH 11/37] Update README.md --- README.md | 110 ++++++++++++++++++++---------------------------------- 1 file changed, 41 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index 7bb8054..d525bbd 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ https://flypython.com
- 1. [Algorithm](#algorithm) 1. [Guide](#guide) 1. [Structure](#structure) @@ -246,88 +245,63 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API [12,602 个推荐,4.6 / 5 星] -链接: - -https://www.udemy.com/rest-api-flask-and-python/ +链接:https://www.udemy.com/rest-api-flask-and-python/ 算法交易:用于财务分析和算法交易的 Python,主要学习包括 numpy,pandas,matplotlib,quantopian,finance [8,077 个推荐,4.6 / 5 星] -链接: +链接:https://www.udemy.com/python-for-finance-and-trading-algorithms/ -https://www.udemy.com/python-for-finance-and-trading-algorithms/ 年度开源 Python 项目 [平均 4,078 星] -链接: - -https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3 +链接:https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3 Python 算法 -1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) - - -本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 - - -作者: - -Donne Martin;[github-11811 星] - -链接: - -https://github.com/donnemartin/interactive-coding-challenges - +- 1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) + 本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 -2. Python 中算法和数据结构的最小样本 + 作者:Donne Martin;[github-11811 星] -如何让 Python 中的数据结构和算法最小、最干净? + 链接:https://github.com/donnemartin/interactive-coding-challenges -作者: -keon;[github-10271 星] -链接: +- 2. Python 中算法和数据结构的最小样本 -https://github.com/keon/algorithms + 如何让 Python 中的数据结构和算法最小、最干净? + 作者:keon;[github-10271 星] + 链接:https://github.com/keon/algorithms -3. 最重要的 Python 算法 --Pygorithm - -Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 - -作者: -Satwik Kansal;[github-3156 星] -链接: +- 3. 最重要的 Python 算法 --Pygorithm -http://pygorithm.readthedocs.io/en/latest/ + Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 + 作者:Satwik Kansal;[github-3156 星] + 链接:http://pygorithm.readthedocs.io/en/latest/ Python 综合指南 -4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython - -作者: +- 4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython -Satwikkansal;[github-4,933 星] + 作者:Satwikkansal;[github-4,933 星] -链接: - -https://github.com/satwikkansal/wtfPython + 链接:https://github.com/satwikkansal/wtfPython @@ -335,11 +309,11 @@ https://github.com/satwikkansal/wtfPython Python 的脚本结构 -5. 一个关于如何从 Python 脚本到打包项目的标准化指南 +- 5. 一个关于如何从 Python 脚本到打包项目的标准化指南 -作者:Courtesy of Vicki + 作者:Courtesy of Vicki -链接:http://veekaybee.github.io/2017/09/26/python-packaging + 链接:http://veekaybee.github.io/2017/09/26/python-packaging @@ -347,58 +321,56 @@ Python 的脚本结构 Python 中的列表 -6. Python 列表生成器的教程 - -在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 - -文章首先简单回顾了 Python 中列表的基本概念,并与 Python 中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。 +- 6. Python 列表生成器的教程 -作者:Karlijn Willems + 在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 -链接:https://www.datacamp.com/community/tutorials/python-list-comprehension + 文章首先简单回顾了 Python 中列表的基本概念,并与 Python 中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。 + 作者:Karlijn Willems + 链接:https://www.datacamp.com/community/tutorials/python-list-comprehension Python 中的类 -7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 +- 7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 -Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 + Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 -作者:Dan Bader + 作者:Dan Bader -链接:https://dbader.org/blog/python-dunder-methods + 链接:https://dbader.org/blog/python-dunder-methods Python 中的网页抓取 -8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 +- 8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 -你可以通过这篇文章学习到网页爬取知识,并用于实践中。 + 你可以通过这篇文章学习到网页爬取知识,并用于实践中。 -作者:ScrapingAuthority + 作者:ScrapingAuthority -链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/ + 链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/ -9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 +- 9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 -作者:Evan Sangaline + 作者:Evan Sangaline -链接:http://sangaline.com/post/advanced-web-scraping-tutorial/ + 链接:http://sangaline.com/post/advanced-web-scraping-tutorial/ -10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 +- 10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 -作者:Lauren Glass 和 Hackernoon + 作者:Lauren Glass 和 Hackernoon -链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88 + 链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88 @@ -406,7 +378,7 @@ Python 中的网页抓取 Python 中的自动化操作 -11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 +- 11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 作者:Thomas Curtis From 64f668f93f436df836015371adcba487fd7b78fa Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Wed, 6 Nov 2019 16:02:24 +0800 Subject: [PATCH 12/37] Update README.md --- README.md | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index d525bbd..498f052 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专 Python 算法 -- 1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) +1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) 本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 @@ -275,7 +275,7 @@ Python 算法 -- 2. Python 中算法和数据结构的最小样本 +2. Python 中算法和数据结构的最小样本 如何让 Python 中的数据结构和算法最小、最干净? @@ -285,7 +285,7 @@ Python 算法 -- 3. 最重要的 Python 算法 --Pygorithm +3. 最重要的 Python 算法 --Pygorithm Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 @@ -297,7 +297,7 @@ Python 算法 Python 综合指南 -- 4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython +4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython 作者:Satwikkansal;[github-4,933 星] @@ -309,7 +309,7 @@ Python 综合指南 Python 的脚本结构 -- 5. 一个关于如何从 Python 脚本到打包项目的标准化指南 +5. 一个关于如何从 Python 脚本到打包项目的标准化指南 作者:Courtesy of Vicki @@ -321,7 +321,7 @@ Python 的脚本结构 Python 中的列表 -- 6. Python 列表生成器的教程 +6. Python 列表生成器的教程 在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 @@ -335,7 +335,7 @@ Python 中的列表 Python 中的类 -- 7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 +7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 @@ -348,7 +348,7 @@ Python 中的类 Python 中的网页抓取 -- 8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 +8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 你可以通过这篇文章学习到网页爬取知识,并用于实践中。 @@ -358,7 +358,7 @@ Python 中的网页抓取 -- 9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 +9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 作者:Evan Sangaline @@ -366,7 +366,7 @@ Python 中的网页抓取 -- 10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 +10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 作者:Lauren Glass 和 Hackernoon @@ -378,7 +378,7 @@ Python 中的网页抓取 Python 中的自动化操作 -- 11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 +11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 作者:Thomas Curtis @@ -1023,19 +1023,11 @@ https://coolpythoncodes.com/best-way-learn-python-programming 45. 如何用 Python 实现强大的数据分析 - - Python 是数据分析的最佳编程语言,这得益于它自带的依赖库。依赖库能够存储,操纵数据,并从数据中获得核心信息,因而在数据科学领域被广泛使用并展现出强大的功能。本文介绍了 Python 在数据科学领域的应用历史以及最新发展。 +作者:Jake VanderPlas - -作者: - -Jake VanderPlas - -链接: - -https://www.youtube.com/watch?v=9by46AAqz70 +链接:https://www.youtube.com/watch?v=9by46AAqz70 #### 飞蟒Python训练营 From ee4f17e1e690f52e824a34613e18c4ab435e1fa7 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Wed, 6 Nov 2019 18:28:34 +0800 Subject: [PATCH 13/37] Create README_cn.md --- README_cn.md | 847 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 847 insertions(+) create mode 100644 README_cn.md diff --git a/README_cn.md b/README_cn.md new file mode 100644 index 0000000..c0801ff --- /dev/null +++ b/README_cn.md @@ -0,0 +1,847 @@ +# FlyPython + +https://flypython.com + +## Python新闻 + +- [python官方](https://www.python.org/) +- [realpython](https://realpython.com) +- [medium](https://medium.com/tag/python) +- reddit + - [python](https://www.reddit.com/r/Python/) + - [learn python](https://www.reddit.com/r/learnpython/) + - [python tips](https://www.reddit.com/r/pythontips/) + + +## Python书籍列表 + +#### 初学者 +- 《Python编程从入门到实践》 +- 《Python编程快速上手-让繁琐工作自动化》 +- 《Python学习手册》 + + +#### 中级 +- 《流畅的Python》 +- 《Python Ticks: A Buufect of Awesome》 +- 《Effective Python: 59 Specific ways to 》 +- + +#### 实践 +- 《Python编程》 +- 《Python极客项目编程》 +- 《Python核心编程》 + + +#### 高级 +- 《Python Cookbook》 + + + +#### 参考资源 +- https://pythonbooks.org/ + + +## Python课程列表 + +#### 初学者 + +- [Python for Everybody](https://www.coursera.org/specializations/python) + + +## Github Top 45 + +REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API [12,602 个推荐,4.6 / 5 星] + +链接:https://www.udemy.com/rest-api-flask-and-python/ + + + +算法交易:用于财务分析和算法交易的 Python,主要学习包括 numpy,pandas,matplotlib,quantopian,finance [8,077 个推荐,4.6 / 5 星] + +链接:https://www.udemy.com/python-for-finance-and-trading-algorithms/ + + + +年度开源 Python 项目 [平均 4,078 星] + + +链接:https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3 + + + +Python 算法 + + +1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) + + 本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 + + 作者:Donne Martin;[github-11811 星] + + 链接:https://github.com/donnemartin/interactive-coding-challenges + + + +2. Python 中算法和数据结构的最小样本 + + 如何让 Python 中的数据结构和算法最小、最干净? + + 作者:keon;[github-10271 星] + + 链接:https://github.com/keon/algorithms + + + +3. 最重要的 Python 算法 --Pygorithm + + Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 + + 作者:Satwik Kansal;[github-3156 星] + + 链接:http://pygorithm.readthedocs.io/en/latest/ + + + +Python 综合指南 + +4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython + + 作者:Satwikkansal;[github-4,933 星] + + 链接:https://github.com/satwikkansal/wtfPython + + + + + +Python 的脚本结构 + +5. 一个关于如何从 Python 脚本到打包项目的标准化指南 + + 作者:Courtesy of Vicki + + 链接:http://veekaybee.github.io/2017/09/26/python-packaging + + + + + +Python 中的列表 + +6. Python 列表生成器的教程 + + 在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 + + 文章首先简单回顾了 Python 中列表的基本概念,并与 Python 中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。 + + 作者:Karlijn Willems + + 链接:https://www.datacamp.com/community/tutorials/python-list-comprehension + + + +Python 中的类 + +7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 + + Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 + + 作者:Dan Bader + + 链接:https://dbader.org/blog/python-dunder-methods + + + + +Python 中的网页抓取 + +8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 + + 你可以通过这篇文章学习到网页爬取知识,并用于实践中。 + + 作者:ScrapingAuthority + + 链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/ + + + +9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 + + 作者:Evan Sangaline + + 链接:http://sangaline.com/post/advanced-web-scraping-tutorial/ + + + +10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 + + 作者:Lauren Glass 和 Hackernoon + + 链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88 + + + + + +Python 中的自动化操作 + +11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 + +作者:Thomas Curtis + +链接:https://www.twilio.com/blog/2017/04/wedding-at-scale-how-i-used-twilio-python-and-google-to-automate-my-wedding.html + + + +12. 如何用 Python 在 Medium 上找到有趣的人 + +作者:Radu Raicea 和 freeCodeCamp。 + +链接:https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0 + + + + + +Python 中的 Bot +13. 制作 Reddit+Facebook 的信息箱 + +作者: + +Yasoob Khalid + +链接: + +https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/ + + + +14. 我在 Instagram 上用 Python 写的开源机器人 (让我拥有了 2500 个粉丝,所花的服务器成本只有 5 美元) + +作者: + +TimG + +链接: + +https://medium.freecodecamp.org/my-open-source-instagram-bot-got-me-2-500-real-followers-for-5-in-server-costs-e40491358340 + + + +Python 中的电子表格 + +15. 权威指南:Python 的 Excel 教程 + +通过这个教程,你可以了解如何使用 Python 读取和导入 Excel 文件,如何将数据写入这些电子表格。 + +作者: + +Karlijn Willems + +链接: + +https://www.datacamp.com/community/tutorials/python-excel-tutorial + + + +16. Python 和 Googgle 电子表格 + +作者: + +Brent Schooley + +链接: + +https://www.youtube.com/watch?v=vISRn5qFrkM + + + + + +Python 中的金融应用 + +17. Python 中的金融:算法交易 + +这是一份 Python 与金融应用的教程,在此你能学习到算法交易的基本知识及相关内容。 + +作者: + +Karlijn Willems + +链接: + +https://www.datacamp.com/community/tutorials/finance-python-trading + + + +18. Python 中的金融教程 — 股票价格及相关数据介绍 + +作者: + +Harrison Kinsley + +链接: + +https://www.youtube.com/watch?v=2BrpKpWwT2A + + + +19. 用 Python 分析加密货币市场 + + + +比特币市场是如何表现?加密货币价值突然出现高峰和低谷的原因是什么?不同 altcoins 市场是不可分割的或基本独立的?我们如何预测接下来会发生什么? + + + +这篇文章将简单地介绍如何使用 Python 来分析加密货币。文章通过一个简单的 Python 脚本来检索,分析和可视化不同加密货币上的数据。在这个过程中,文章还将揭示这些波动剧烈的市场行为以及一个有趣的演变趋势。 + + + +作者: + +Patrick Triest + +链接: + +https://blog.patricktriest.com/analyzing-cryptocurrencies-python/ + + + + + +Python 中的区块链 + + + +20. 学习并构建一个区块链 + + + +毫无疑问,区块链这项新颖的技术是计算的奇迹。区块链技术的出现引发了新的全数字货币,如比特币和莱特币,而这些货币并非由中央当局发行或管理。区块链也以 Ethereum 这样的技术形式革命化了分布式计算,并引入了智能合约等有趣的概念。 + + + +这篇文章将会帮助你学习并理解区块链的工作原理。通过这篇教程,你将学习到一个功能强大的区块链,并掌握它们的工作流程。 + + + +作者: + +Daniel van Flymen 和 Hackernoon + +链接: + +https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 + + + +21. 如何构建一个最小的区块链 + + + +本文将用少于 50 行的代码 (Python2) 来创建一个最简单、最小的区块链。 + + + +作者: + +Gerald Nash + +链接: + +https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b + + + + + +Python 中的视频合成 + + + +22. 用 Python 构建一个视频合成器 + + + +视频合成器是利用音频输入来创建视觉信号的设备,自上世纪 60 年代以来,已有很长的历史。 + + + +这篇文章将用 Python 编写一个基本的视频合成器,并使用 aubio 进行 Onset 目标检测。 + + + +作者: + +Kirk Kaiser + +链接: + +https://www.makeartwithpython.com/blog/video-synthesizer-in-python/ + + + + + +Python 的性能 + + + +23. 用 Python 处理每秒 100 万个请求 + + + +用 Python 每秒能够达到 100 万个请求吗?为了节省服务器价格,最近很多公司正在从 Python 向其他编程语言中迁移。但实际并不需要。 + + + +Python 社区最近在性能提升方面做了很多工作。CPython 3.6 通过新的字典提高了整体解释器的性能。由于引入了更快的调用约定和字典查找缓存,CPython 3.7 将会更快。 + + + +对于数字处理任务,你可以使用 PyPy 进行代码编译。你还可以运行 NumPy 的测试套件,该测试套件现在已经改进了 Python 与 C 语言扩展的整体兼容性。在随后的更新版本中,PyPy 预计将与 Python 3.5 兼容。 + + + +作者: + +Paweł Piotr Przeradowski。 + +链接: + +https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319 + + + +24. “Python 很慢,但我不在乎” + + + +这篇文章将介绍一些关于 Python 中 asyncio 的内容,并讨论有关 Python 速度的问题。 + + + +作者: + +Nick Humrich + +链接: + +https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1 + + + +25. Python 中的缓存:如何缓存函数的结果 + + + +文章将介绍一种快捷的方法来加速 Python 记忆代码。你将看到何时以及如何运用 Python 记忆代码。记忆代码优化你的程序,在某些情况下会加速你的代码运行。 + + + +链接: + +https://dbader.org/blog/python-memoization + + + + + +Python 中的 Django 框架 + + + +26. 七步骤带你完整地学习 Django + + + +Django 是用 Python 编写的一个 Web 框架。这篇文章是介绍 Django 基础知识的系列教程,共分为七个部分,将分别从安装,准备开发环境,模型,视图,模板,URL 到更高级的主题(如迁移,测试和部署)出发,详细探讨所有的基本概念。 + + + +作者: + +Vitor Freitas + +链接: + +https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html + + + +27. 使用 Django 构建 REST API 的测试驱动方法:第一部分 + + + +这篇文章将介绍如何利用 Django 来构建一个 REST API 的测试驱动,并详细介绍了每个步骤。 + + + +作者: + +Jee Githinji Gikera 和 Scotch Development + +链接: + +https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1 + + + + + +Python 中的 Flake + + + +28. OI’List 规则 + + + +这篇博文中我们将介绍 Flake8(pyflakes,pycodestyle 和 mccabe)中的每个规则及相对应的示例。 + + + +链接: + +https://lintlyci.github.io/Flake8Rules/ + + + +29. 使用 Python 和 Flask 开发 RESTful API + + + +本文包括以下几部分:为什么用 Python;什么是 Flask;引导 Flask 应用程序 + +用 Flask 创建一个 RESTful 端点;用 Python 类映射模型;用 Marshmallow 进行序列化和反序列化对象;Dockerizing Flask 应用程序;用 Auth0 保护 Python API + + + +作者: + +Bruno Krebs + +链接: + +https://auth0.com/blog/developing-restful-apis-with-python-and-flask/ + + + + + +Python 中的 Numpy + + + +30. 从 Python 到 Numpy + + + +本文通过一种新颖的方式,向量化地集中讲解了如何从 Python 迁移到 Numpy 的学习。另外,本文还包括一些很少提到的使用技巧。 + + + +链接: + +http://www.labri.fr/perso/nrougier/from-python-to-numpy/ + + + +31. 探索 Python 每种工具包的行长度 + + + +本文探索了 Python 的流行包,如 NumPy,SciPy,Pandas,Scikit-Learn,Matplotlib,AstroPy 等。 + + + +作者: + +Jake VanderPlas + +链接: + +http://jakevdp.github.io/blog/2017/11/09/exploring-line-lengths-in-python-packages/ + + + + + +Python 中的 NashPy + + + +32. NashPy 教程 — 建立并找到一种简单的游戏平衡 + + + +博弈论是用来研究理性主体之间的战略互动:当双方试图采用对各自最有益的方式来完成某件事情时,对双方互动行为的研究。这篇文章将采用 Python 中的 NashPy 来研究这种双方博弈的互动行为。 + + + +链接: + +http://nashpy.readthedocs.io/en/latest/tutorial/ + + + + + +Python 中的马尔可夫过程 + + + +33. 用 Python 模拟 Chutes 和 Ladders + + + +这篇文章将通过 Chutes 和 Ladders 游戏的例子,建立模型并阐述马尔可夫过程的原理。整个分析过程附有 Python 源码,感兴趣的读者可以尝试一下。 + + + +作者: + +Jake VanderPlas + +链接: + +http://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders/ + + + + + +Python 中的数据分析 + + + +34. 用 Python 分析美国联邦政治行为 + + + +科学,政治,个人意见和社会政策的交集可能呈现相当复杂的情况。思想和学科的交汇点通常充斥着有争议的观点和基于信仰但缺乏经验证据的议程。这时,数据科学在这方面就显得特别重要,因为它提供了一种以实际事实为基础的考察世界的方法,能够深入了解我们今天所面临的一些最重要的问题。 + + + +这篇文章我们将用 Python 来分析美国联邦政府的一些政治行为,深入了解政治背后所隐藏的故事。 + + + +作者: + +Patrick Triest + +链接: + +https://blog.patricktriest.com/police-data-python/ + + + +35. 用 Python 分析 1000 + 的希腊葡萄酒 + + + +作者: + +Florents Tselai + +链接: + +https://tselai.com/greek-wines-analysis.html + + + + + +36. 如何用 Python 生成 FiveThirtyEight 图 + + + +这篇文章将用 Python 的 matplotlib 和 pandas,来学习并查看 FiveThirtyEight(FTE)可视化的核心部分,并教会你使用 Python 来为自己的数据进行可视化。 + + + +作者: + +Josh Devlin + +链接: + +https://www.dataquest.io/blog/making-538-plots/、 + + + + + +37. 使用 Apache Spark 和 Python 为 8000 万 Amazon 产品进行评价打分 + + + +作者编写了一个简单的 Python 脚本,将亚马逊产品评论数据集中的每类评分数据进行整合,并对这些 Amazon 产品评论数据进行分析打分,以发现用户的喜好。 + + + +作者: + +Max Woolf + +链接: + +http://minimaxir.com/2017/01/amazon-spark/ + + + + + +38. 使用 Python 进行地理空间分析 + + + +作者: + +Matthew Rocklin + +链接: + +https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1 + + + + + +39. 星球:从太空中了解亚马逊,来自 Kaggle 头奖获奖者的采访 + + + +文章采访了 Kaggle 的 “星球:从太空中了解亚马逊” 竞赛的获奖者,内容包括他如何使用 11 个微调的卷积神经网络,标签关联的结构模型,以及如何避免过拟合现象等。 + + + +作者: + +Edwin Chen + +链接: + +http://blog.kaggle.com/2017/10/17/planet-understanding-the-amazon-from-space-1st-place-winners-interview/ + + + + + +Python 入门 + + + +40. 从零开始学习 Python + + + +Python 的创建者 Guido van Rossum 曾说过,“Python 是一个高级编程语言,其核心设计理念是让代码具有高度的可读性和简单的语法,程序员可以用几行代码表达自己的想法。” + + + +作者: + +TK + +链接: + +https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567 + + + + + +41. 重要的 Python 练习清单 + + + +这篇文章列出了一些重要的练习项目,包括 Python 语言本身和标准库的练习。文章中还有 Python 中不同主题模块的知识。 + + + +作者: + +Ynon Perek + +链接: + +https://www.ynonperek.com/2017/09/21/python-exercises/ + + + + + +42. API 的设计原则:先思考再编码 + + + +API 是定义应用程序接口的通用术语,换句话说,就是用户(人或机器)与程序的交互接口。在 Web 开发世界中,API 通常是一个网站,其中包含一系列端点,用于响应客户端请求和结构化文本数据。这篇文章将告诉你为什么以及如何设计一个正确的 API,如何将自己的思想植入到 API 的设计中来构建属于你自己的 API。 + + + +作者: + +Jonatas Baldin + +链接: + +https://www.ckl.io/blog/api-design-think-first-code-later + + + + + +43. Python 机器学习指南 + + + +本文将通过清晰地解释和有效的练习,来帮助你深度理解相关的机器学习算法。 + + + +作者: + +Conor Dewey + +链接: + +https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378 + + + + + +44. 如何学习 Python 编程:6 位经验丰富的 Python 开发者分享了他们的观点 + + + +对于当下热门的 Python 语言,有太多的教程、书籍、视频和博客文章资源,然而如此多的冗余资料,你该如何选择最佳的方式开始你的 Python 学习之旅呢?这篇文章列出了 6 位 Python 专家分享的学习经验,相信这对于迷茫中的你来说,将受益匪浅。 + + + +链接: + +https://coolpythoncodes.com/best-way-learn-python-programming + + + +45. 如何用 Python 实现强大的数据分析 + +Python 是数据分析的最佳编程语言,这得益于它自带的依赖库。依赖库能够存储,操纵数据,并从数据中获得核心信息,因而在数据科学领域被广泛使用并展现出强大的功能。本文介绍了 Python 在数据科学领域的应用历史以及最新发展。 + +作者:Jake VanderPlas + +链接:https://www.youtube.com/watch?v=9by46AAqz70 + + +#### 飞蟒Python训练营 + +飞蟒Python训练营内测中,欢迎大家参加免费的内测 + +扫描下面的二维码,回复『训练营』关键字加群 + + From 82635f3c53d72b9e5a6048b0e9b8dfdf7aa83a16 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Wed, 6 Nov 2019 18:29:10 +0800 Subject: [PATCH 14/37] Update README.md --- README.md | 838 +----------------------------------------------------- 1 file changed, 2 insertions(+), 836 deletions(-) diff --git a/README.md b/README.md index 498f052..c51f113 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ https://flypython.com +[中文版](./README_cn.md) + ## Python News @@ -201,839 +203,3 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: * [How to learn Python programming: 6 experienced Python developers share their learning tips](https://coolpythoncodes.com/best-way-learn-python-programming?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) * [How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) - -## Python书籍列表 - -#### 初学者 -- 《Python编程从入门到实践》 -- 《Python编程快速上手-让繁琐工作自动化》 -- 《Python学习手册》 - - -#### 中级 -- 《流畅的Python》 -- 《Python Ticks: A Buufect of Awesome》 -- 《Effective Python: 59 Specific ways to 》 -- - -#### 实践 -- 《Python编程》 -- 《Python极客项目编程》 -- 《Python核心编程》 - - -#### 高级 -- 《Python Cookbook》 - - - -#### 参考资源 -- https://pythonbooks.org/ - - - - -## Python课程列表 - -#### 初学者 - -- [Python for Everybody](https://www.coursera.org/specializations/python) - - - -## Github Top 45 - -REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API [12,602 个推荐,4.6 / 5 星] - -链接:https://www.udemy.com/rest-api-flask-and-python/ - - - -算法交易:用于财务分析和算法交易的 Python,主要学习包括 numpy,pandas,matplotlib,quantopian,finance [8,077 个推荐,4.6 / 5 星] - -链接:https://www.udemy.com/python-for-finance-and-trading-algorithms/ - - - -年度开源 Python 项目 [平均 4,078 星] - - -链接:https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3 - - - -Python 算法 - - -1. 回顾 Python 交互式编码中所要面对的挑战 (算法和数据结构) - - 本文对算法编码和数据结构中的问题提出了简单易懂又切实可行的方案。 - - 作者:Donne Martin;[github-11811 星] - - 链接:https://github.com/donnemartin/interactive-coding-challenges - - - -2. Python 中算法和数据结构的最小样本 - - 如何让 Python 中的数据结构和算法最小、最干净? - - 作者:keon;[github-10271 星] - - 链接:https://github.com/keon/algorithms - - - -3. 最重要的 Python 算法 --Pygorithm - - Pygorithm 是一个纯 Python 风格编写的模块,通过导入所需的算法,获得相应的代码、时间复杂性等。这是一个开始学习 Python 编程的好方法,能够帮助初学者学习并实现 Python 中所有算法。 - - 作者:Satwik Kansal;[github-3156 星] - - 链接:http://pygorithm.readthedocs.io/en/latest/ - - - -Python 综合指南 - -4. 一个有趣又鲜为人知的 Python 代码片段集合 —wtfPython - - 作者:Satwikkansal;[github-4,933 星] - - 链接:https://github.com/satwikkansal/wtfPython - - - - - -Python 的脚本结构 - -5. 一个关于如何从 Python 脚本到打包项目的标准化指南 - - 作者:Courtesy of Vicki - - 链接:http://veekaybee.github.io/2017/09/26/python-packaging - - - - - -Python 中的列表 - -6. Python 列表生成器的教程 - - 在这份教程中,你将能够学习到如何在 Python 中有效地使用列表生成器来创建列表,替换 (嵌套) for 循环以及使用 map (), filter (), reduce () 函数等。 - - 文章首先简单回顾了 Python 中列表的基本概念,并与 Python 中其他的数据结构进行比较。接着讲解了列表生成器的学习。文章还讲解了 Python 列表背后的数学知识,创建列表生成器的方法,以及如何在 for 循环或 lambda 隐函数中重写它们。 - - 作者:Karlijn Willems - - 链接:https://www.datacamp.com/community/tutorials/python-list-comprehension - - - -Python 中的类 - -7. 如何使用 Dunder (Magic、Special) 方法来丰富你的 Python 类 - - Dunker 是 Python 中的一种特殊方法,通过双下划线开始和结束的形式存在,例如__init__来丰富类的预定义方法。 - - 作者:Dan Bader - - 链接:https://dbader.org/blog/python-dunder-methods - - - - -Python 中的网页抓取 - -8. 如何使用 Python 中的 Scrapy、SQL 和 Matplotlib 等库进行网页抓取,并获取网页数据分析 - - 你可以通过这篇文章学习到网页爬取知识,并用于实践中。 - - 作者:ScrapingAuthority - - 链接:http://www.scrapingauthority.com/python-scrapy-mysql-and-matplotlib-to-gain-web-data-insights/ - - - -9. 高级的网页抓取教程:绕过 “403 禁止”,验证码等问题 - - 作者:Evan Sangaline - - 链接:http://sangaline.com/post/advanced-web-scraping-tutorial/ - - - -10. 掌握 Python 的网页抓取技巧来获取你所需要的数据 - - 作者:Lauren Glass 和 Hackernoon - - 链接:https://hackernoon.com/mastering-python-web-scraping-get-your-data-back-e9a5cc653d88 - - - - - -Python 中的自动化操作 - -11. 如何使用 Twilio、Python 和 Google 自动化婚礼的进程 - -作者:Thomas Curtis - -链接:https://www.twilio.com/blog/2017/04/wedding-at-scale-how-i-used-twilio-python-and-google-to-automate-my-wedding.html - - - -12. 如何用 Python 在 Medium 上找到有趣的人 - -作者:Radu Raicea 和 freeCodeCamp。 - -链接:https://medium.freecodecamp.org/how-i-used-python-to-find-interesting-people-on-medium-be9261b924b0 - - - - - -Python 中的 Bot -13. 制作 Reddit+Facebook 的信息箱 - -作者: - -Yasoob Khalid - -链接: - -https://pythontips.com/2017/04/13/making-a-reddit-facebook-messenger-bot/ - - - -14. 我在 Instagram 上用 Python 写的开源机器人 (让我拥有了 2500 个粉丝,所花的服务器成本只有 5 美元) - -作者: - -TimG - -链接: - -https://medium.freecodecamp.org/my-open-source-instagram-bot-got-me-2-500-real-followers-for-5-in-server-costs-e40491358340 - - - -Python 中的电子表格 - -15. 权威指南:Python 的 Excel 教程 - -通过这个教程,你可以了解如何使用 Python 读取和导入 Excel 文件,如何将数据写入这些电子表格。 - -作者: - -Karlijn Willems - -链接: - -https://www.datacamp.com/community/tutorials/python-excel-tutorial - - - -16. Python 和 Googgle 电子表格 - -作者: - -Brent Schooley - -链接: - -https://www.youtube.com/watch?v=vISRn5qFrkM - - - - - -Python 中的金融应用 - -17. Python 中的金融:算法交易 - -这是一份 Python 与金融应用的教程,在此你能学习到算法交易的基本知识及相关内容。 - -作者: - -Karlijn Willems - -链接: - -https://www.datacamp.com/community/tutorials/finance-python-trading - - - -18. Python 中的金融教程 — 股票价格及相关数据介绍 - -作者: - -Harrison Kinsley - -链接: - -https://www.youtube.com/watch?v=2BrpKpWwT2A - - - -19. 用 Python 分析加密货币市场 - - - -比特币市场是如何表现?加密货币价值突然出现高峰和低谷的原因是什么?不同 altcoins 市场是不可分割的或基本独立的?我们如何预测接下来会发生什么? - - - -这篇文章将简单地介绍如何使用 Python 来分析加密货币。文章通过一个简单的 Python 脚本来检索,分析和可视化不同加密货币上的数据。在这个过程中,文章还将揭示这些波动剧烈的市场行为以及一个有趣的演变趋势。 - - - -作者: - -Patrick Triest - -链接: - -https://blog.patricktriest.com/analyzing-cryptocurrencies-python/ - - - - - -Python 中的区块链 - - - -20. 学习并构建一个区块链 - - - -毫无疑问,区块链这项新颖的技术是计算的奇迹。区块链技术的出现引发了新的全数字货币,如比特币和莱特币,而这些货币并非由中央当局发行或管理。区块链也以 Ethereum 这样的技术形式革命化了分布式计算,并引入了智能合约等有趣的概念。 - - - -这篇文章将会帮助你学习并理解区块链的工作原理。通过这篇教程,你将学习到一个功能强大的区块链,并掌握它们的工作流程。 - - - -作者: - -Daniel van Flymen 和 Hackernoon - -链接: - -https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 - - - -21. 如何构建一个最小的区块链 - - - -本文将用少于 50 行的代码 (Python2) 来创建一个最简单、最小的区块链。 - - - -作者: - -Gerald Nash - -链接: - -https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b - - - - - -Python 中的视频合成 - - - -22. 用 Python 构建一个视频合成器 - - - -视频合成器是利用音频输入来创建视觉信号的设备,自上世纪 60 年代以来,已有很长的历史。 - - - -这篇文章将用 Python 编写一个基本的视频合成器,并使用 aubio 进行 Onset 目标检测。 - - - -作者: - -Kirk Kaiser - -链接: - -https://www.makeartwithpython.com/blog/video-synthesizer-in-python/ - - - - - -Python 的性能 - - - -23. 用 Python 处理每秒 100 万个请求 - - - -用 Python 每秒能够达到 100 万个请求吗?为了节省服务器价格,最近很多公司正在从 Python 向其他编程语言中迁移。但实际并不需要。 - - - -Python 社区最近在性能提升方面做了很多工作。CPython 3.6 通过新的字典提高了整体解释器的性能。由于引入了更快的调用约定和字典查找缓存,CPython 3.7 将会更快。 - - - -对于数字处理任务,你可以使用 PyPy 进行代码编译。你还可以运行 NumPy 的测试套件,该测试套件现在已经改进了 Python 与 C 语言扩展的整体兼容性。在随后的更新版本中,PyPy 预计将与 Python 3.5 兼容。 - - - -作者: - -Paweł Piotr Przeradowski。 - -链接: - -https://medium.freecodecamp.org/million-requests-per-second-with-python-95c137af319 - - - -24. “Python 很慢,但我不在乎” - - - -这篇文章将介绍一些关于 Python 中 asyncio 的内容,并讨论有关 Python 速度的问题。 - - - -作者: - -Nick Humrich - -链接: - -https://hackernoon.com/yes-python-is-slow-and-i-dont-care-13763980b5a1 - - - -25. Python 中的缓存:如何缓存函数的结果 - - - -文章将介绍一种快捷的方法来加速 Python 记忆代码。你将看到何时以及如何运用 Python 记忆代码。记忆代码优化你的程序,在某些情况下会加速你的代码运行。 - - - -链接: - -https://dbader.org/blog/python-memoization - - - - - -Python 中的 Django 框架 - - - -26. 七步骤带你完整地学习 Django - - - -Django 是用 Python 编写的一个 Web 框架。这篇文章是介绍 Django 基础知识的系列教程,共分为七个部分,将分别从安装,准备开发环境,模型,视图,模板,URL 到更高级的主题(如迁移,测试和部署)出发,详细探讨所有的基本概念。 - - - -作者: - -Vitor Freitas - -链接: - -https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html - - - -27. 使用 Django 构建 REST API 的测试驱动方法:第一部分 - - - -这篇文章将介绍如何利用 Django 来构建一个 REST API 的测试驱动,并详细介绍了每个步骤。 - - - -作者: - -Jee Githinji Gikera 和 Scotch Development - -链接: - -https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1 - - - - - -Python 中的 Flake - - - -28. OI’List 规则 - - - -这篇博文中我们将介绍 Flake8(pyflakes,pycodestyle 和 mccabe)中的每个规则及相对应的示例。 - - - -链接: - -https://lintlyci.github.io/Flake8Rules/ - - - -29. 使用 Python 和 Flask 开发 RESTful API - - - -本文包括以下几部分:为什么用 Python;什么是 Flask;引导 Flask 应用程序 - -用 Flask 创建一个 RESTful 端点;用 Python 类映射模型;用 Marshmallow 进行序列化和反序列化对象;Dockerizing Flask 应用程序;用 Auth0 保护 Python API - - - -作者: - -Bruno Krebs - -链接: - -https://auth0.com/blog/developing-restful-apis-with-python-and-flask/ - - - - - -Python 中的 Numpy - - - -30. 从 Python 到 Numpy - - - -本文通过一种新颖的方式,向量化地集中讲解了如何从 Python 迁移到 Numpy 的学习。另外,本文还包括一些很少提到的使用技巧。 - - - -链接: - -http://www.labri.fr/perso/nrougier/from-python-to-numpy/ - - - -31. 探索 Python 每种工具包的行长度 - - - -本文探索了 Python 的流行包,如 NumPy,SciPy,Pandas,Scikit-Learn,Matplotlib,AstroPy 等。 - - - -作者: - -Jake VanderPlas - -链接: - -http://jakevdp.github.io/blog/2017/11/09/exploring-line-lengths-in-python-packages/ - - - - - -Python 中的 NashPy - - - -32. NashPy 教程 — 建立并找到一种简单的游戏平衡 - - - -博弈论是用来研究理性主体之间的战略互动:当双方试图采用对各自最有益的方式来完成某件事情时,对双方互动行为的研究。这篇文章将采用 Python 中的 NashPy 来研究这种双方博弈的互动行为。 - - - -链接: - -http://nashpy.readthedocs.io/en/latest/tutorial/ - - - - - -Python 中的马尔可夫过程 - - - -33. 用 Python 模拟 Chutes 和 Ladders - - - -这篇文章将通过 Chutes 和 Ladders 游戏的例子,建立模型并阐述马尔可夫过程的原理。整个分析过程附有 Python 源码,感兴趣的读者可以尝试一下。 - - - -作者: - -Jake VanderPlas - -链接: - -http://jakevdp.github.io/blog/2017/12/18/simulating-chutes-and-ladders/ - - - - - -Python 中的数据分析 - - - -34. 用 Python 分析美国联邦政治行为 - - - -科学,政治,个人意见和社会政策的交集可能呈现相当复杂的情况。思想和学科的交汇点通常充斥着有争议的观点和基于信仰但缺乏经验证据的议程。这时,数据科学在这方面就显得特别重要,因为它提供了一种以实际事实为基础的考察世界的方法,能够深入了解我们今天所面临的一些最重要的问题。 - - - -这篇文章我们将用 Python 来分析美国联邦政府的一些政治行为,深入了解政治背后所隐藏的故事。 - - - -作者: - -Patrick Triest - -链接: - -https://blog.patricktriest.com/police-data-python/ - - - -35. 用 Python 分析 1000 + 的希腊葡萄酒 - - - -作者: - -Florents Tselai - -链接: - -https://tselai.com/greek-wines-analysis.html - - - - - -36. 如何用 Python 生成 FiveThirtyEight 图 - - - -这篇文章将用 Python 的 matplotlib 和 pandas,来学习并查看 FiveThirtyEight(FTE)可视化的核心部分,并教会你使用 Python 来为自己的数据进行可视化。 - - - -作者: - -Josh Devlin - -链接: - -https://www.dataquest.io/blog/making-538-plots/、 - - - - - -37. 使用 Apache Spark 和 Python 为 8000 万 Amazon 产品进行评价打分 - - - -作者编写了一个简单的 Python 脚本,将亚马逊产品评论数据集中的每类评分数据进行整合,并对这些 Amazon 产品评论数据进行分析打分,以发现用户的喜好。 - - - -作者: - -Max Woolf - -链接: - -http://minimaxir.com/2017/01/amazon-spark/ - - - - - -38. 使用 Python 进行地理空间分析 - - - -作者: - -Matthew Rocklin - -链接: - -https://matthewrocklin.com/blog//work/2017/09/21/accelerating-geopandas-1 - - - - - -39. 星球:从太空中了解亚马逊,来自 Kaggle 头奖获奖者的采访 - - - -文章采访了 Kaggle 的 “星球:从太空中了解亚马逊” 竞赛的获奖者,内容包括他如何使用 11 个微调的卷积神经网络,标签关联的结构模型,以及如何避免过拟合现象等。 - - - -作者: - -Edwin Chen - -链接: - -http://blog.kaggle.com/2017/10/17/planet-understanding-the-amazon-from-space-1st-place-winners-interview/ - - - - - -Python 入门 - - - -40. 从零开始学习 Python - - - -Python 的创建者 Guido van Rossum 曾说过,“Python 是一个高级编程语言,其核心设计理念是让代码具有高度的可读性和简单的语法,程序员可以用几行代码表达自己的想法。” - - - -作者: - -TK - -链接: - -https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567 - - - - - -41. 重要的 Python 练习清单 - - - -这篇文章列出了一些重要的练习项目,包括 Python 语言本身和标准库的练习。文章中还有 Python 中不同主题模块的知识。 - - - -作者: - -Ynon Perek - -链接: - -https://www.ynonperek.com/2017/09/21/python-exercises/ - - - - - -42. API 的设计原则:先思考再编码 - - - -API 是定义应用程序接口的通用术语,换句话说,就是用户(人或机器)与程序的交互接口。在 Web 开发世界中,API 通常是一个网站,其中包含一系列端点,用于响应客户端请求和结构化文本数据。这篇文章将告诉你为什么以及如何设计一个正确的 API,如何将自己的思想植入到 API 的设计中来构建属于你自己的 API。 - - - -作者: - -Jonatas Baldin - -链接: - -https://www.ckl.io/blog/api-design-think-first-code-later - - - - - -43. Python 机器学习指南 - - - -本文将通过清晰地解释和有效的练习,来帮助你深度理解相关的机器学习算法。 - - - -作者: - -Conor Dewey - -链接: - -https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378 - - - - - -44. 如何学习 Python 编程:6 位经验丰富的 Python 开发者分享了他们的观点 - - - -对于当下热门的 Python 语言,有太多的教程、书籍、视频和博客文章资源,然而如此多的冗余资料,你该如何选择最佳的方式开始你的 Python 学习之旅呢?这篇文章列出了 6 位 Python 专家分享的学习经验,相信这对于迷茫中的你来说,将受益匪浅。 - - - -链接: - -https://coolpythoncodes.com/best-way-learn-python-programming - - - -45. 如何用 Python 实现强大的数据分析 - -Python 是数据分析的最佳编程语言,这得益于它自带的依赖库。依赖库能够存储,操纵数据,并从数据中获得核心信息,因而在数据科学领域被广泛使用并展现出强大的功能。本文介绍了 Python 在数据科学领域的应用历史以及最新发展。 - -作者:Jake VanderPlas - -链接:https://www.youtube.com/watch?v=9by46AAqz70 - - -#### 飞蟒Python训练营 - -飞蟒Python训练营内测中,欢迎大家参加免费的内测 - -扫描下面的二维码,回复『训练营』关键字加群 - - From 8e19e1c915d1bfde981c49a2e2a172e9f6bf8e71 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Tue, 17 Dec 2019 12:02:04 +0800 Subject: [PATCH 15/37] Update README_cn.md --- README_cn.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README_cn.md b/README_cn.md index c0801ff..7adc11d 100644 --- a/README_cn.md +++ b/README_cn.md @@ -2,6 +2,15 @@ https://flypython.com +#### 飞蟒Python训练营 + +飞蟒Python训练营内测中,欢迎大家参加免费的内测 + +扫描下面的二维码,回复『训练营』关键字加群 + + + + ## Python新闻 - [python官方](https://www.python.org/) @@ -838,10 +847,3 @@ Python 是数据分析的最佳编程语言,这得益于它自带的依赖库 链接:https://www.youtube.com/watch?v=9by46AAqz70 -#### 飞蟒Python训练营 - -飞蟒Python训练营内测中,欢迎大家参加免费的内测 - -扫描下面的二维码,回复『训练营』关键字加群 - - From fd8fb0ddb8e04785e3a4214a07a2613e4b55c88b Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 27 Dec 2019 15:50:14 +0800 Subject: [PATCH 16/37] Set theme jekyll-theme-time-machine --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..ddeb671 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-time-machine \ No newline at end of file From dac00e0c9ff7fd672fafc5d1d04753e9e3e84353 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 27 Dec 2019 15:51:34 +0800 Subject: [PATCH 17/37] Set theme jekyll-theme-minimal --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index ddeb671..2f7efbe 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-time-machine \ No newline at end of file +theme: jekyll-theme-minimal \ No newline at end of file From 565e367a698996a910912012cf4d44cd2b4edc21 Mon Sep 17 00:00:00 2001 From: Jimmy Xiang Date: Fri, 6 Mar 2020 17:06:20 +0800 Subject: [PATCH 18/37] Update README_cn.md --- README_cn.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README_cn.md b/README_cn.md index 7adc11d..2e93c10 100644 --- a/README_cn.md +++ b/README_cn.md @@ -2,14 +2,6 @@ https://flypython.com -#### 飞蟒Python训练营 - -飞蟒Python训练营内测中,欢迎大家参加免费的内测 - -扫描下面的二维码,回复『训练营』关键字加群 - - - ## Python新闻 From 2d8bdf5f7a9d8c59893a3ae257a564b808a9e4c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Mon, 21 Sep 2020 18:46:57 +0800 Subject: [PATCH 19/37] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c51f113..42c0b11 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FlyPython -https://flypython.com +http://flypython.com [中文版](./README_cn.md) From 9dd1af38295e1d9f3eaad943ae17c230bc4623f1 Mon Sep 17 00:00:00 2001 From: komnen0v1c Date: Tue, 22 Sep 2020 22:15:35 +0200 Subject: [PATCH 20/37] Added 'Python Cookbook' book to new_branch --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 42c0b11..21a1275 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,9 @@ http://flypython.com - ※※※※※ - [Amazon](https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994) +- 《Python Cookbook: Recipes for Mastering Python 3 Paperback 》 + - ※※※※※ + - [Amazon](https://www.amazon.co.uk/Python-Cookbook-David-Beazley/dp/1449340377) ## Course From d5415cb6ae8019a6b08ccbed0049c4e15dd26da8 Mon Sep 17 00:00:00 2001 From: TheImmortalIronFist <33147026+TheImmortalIronFist@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:01:49 +0530 Subject: [PATCH 21/37] Added A Reddit Community --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 21a1275..7d93a1f 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ http://flypython.com - [python](https://www.reddit.com/r/Python/) - [learn python](https://www.reddit.com/r/learnpython/) - [python tips](https://www.reddit.com/r/pythontips/) + - [.python coding](https://www.reddit.com/r/pythoncoding?utm_medium=android_app&utm_source=share) ## Python Books From 34447bfb45ac3122962c2ba3bbb796cf9bdf784d Mon Sep 17 00:00:00 2001 From: TheImmortalIronFist <33147026+TheImmortalIronFist@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:10:57 +0530 Subject: [PATCH 22/37] Added a Youtube video section --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7d93a1f..5ef061c 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,10 @@ http://flypython.com - ※※※※※ - [Amazon](https://www.amazon.co.uk/Python-Cookbook-David-Beazley/dp/1449340377) +##Youtube + +- [Code with Harry](https://youtu.be/IMGzzK9Wn4w) + ## Course #### Beginer From a09859d6325556f80e18104f80d815d44fb99f7f Mon Sep 17 00:00:00 2001 From: TheImmortalIronFist <33147026+TheImmortalIronFist@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:14:52 +0530 Subject: [PATCH 23/37] Added a Youtube Video Section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ef061c..05e2870 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ http://flypython.com ##Youtube - [Code with Harry](https://youtu.be/IMGzzK9Wn4w) +- [Code with Harry](https://www.youtube.com/playlist?list=PLu0W_9lII9agK8pojo23OHiNz3Jm6VQCH)(hindi) ## Course From 8273f95b17ceb87dd59c1f0d960fa84590efb77c Mon Sep 17 00:00:00 2001 From: sudhanshu2900 <52392822+sudhanshu2900@users.noreply.github.com> Date: Thu, 1 Oct 2020 00:57:07 +0530 Subject: [PATCH 24/37] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21a1275..057a330 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FlyPython +# Fly with Python in this technological universe http://flypython.com @@ -35,10 +35,11 @@ http://flypython.com - ※※※※※ - [Amazon](https://www.amazon.co.uk/Python-Cookbook-David-Beazley/dp/1449340377) -## Course +## Courses #### Beginer - [Python for Everybody](https://www.coursera.org/specializations/python) + - [Python 3 Programming](https://www.coursera.org/specializations/python-3-programming) From a16a842962a85dba110d40c457581b2d3cd10383 Mon Sep 17 00:00:00 2001 From: Tanay Duggad <62687730+tanayduggad0299@users.noreply.github.com> Date: Thu, 1 Oct 2020 10:43:23 +0530 Subject: [PATCH 25/37] Update Docs Added a column of Net Practice which is for solving basic and intermediate level problems in the initial stage of learning. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 21a1275..0d6479f 100644 --- a/README.md +++ b/README.md @@ -206,3 +206,7 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: * [How to learn Python programming: 6 experienced Python developers share their learning tips](https://coolpythoncodes.com/best-way-learn-python-programming?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) * [How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +### Net Practice (for Python) +"It's better to sweat now than to bleed later" +*[Practice Here on Hackerrank](https://www.hackerrank.com/domains/python) +*[Practice Here on Hackerearth](https://www.hackerearth.com/practice/python/getting-started/input-and-output/tutorial/) From 67d611e013d066447a1487d128e9a14621ac22ce Mon Sep 17 00:00:00 2001 From: aasthasaxena217 <64476429+aasthasaxena217@users.noreply.github.com> Date: Thu, 1 Oct 2020 15:34:37 +0530 Subject: [PATCH 26/37] video learning source Adding the python learning resource for beginners. --- Youtube.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Youtube.txt diff --git a/Youtube.txt b/Youtube.txt new file mode 100644 index 0000000..263d6d7 --- /dev/null +++ b/Youtube.txt @@ -0,0 +1,2 @@ +Learn Basics from youtube: +https://www.youtube.com/watch?v=_uQrJ0TkZlc&list=PLTjRvDozrdlxj5wgH4qkvwSOdHLOCx10f From 97e4786c5b2f363a83407ead2eec366313e39b74 Mon Sep 17 00:00:00 2001 From: siddharthati <72189368+siddharthati@users.noreply.github.com> Date: Fri, 2 Oct 2020 01:14:37 +0530 Subject: [PATCH 27/37] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21a1275..d2e898c 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ http://flypython.com ## Python Books #### Beginner -- 《Python Crash Course: A Hands-On, Project-Based Introduction to Programming》 +- 《Python Crash Course: A Hands-On, Project-Based Introduction to Programming for begainners》 - ※※※※※ - [Amazon](https://www.amazon.com/Python-Crash-Course-Hands-Project-Based/dp/1593276036) @@ -204,5 +204,5 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: * [API Design: Think First, Code Later](https://www.ckl.io/blog/api-design-think-first-code-later?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) * [The Hitchhiker’s Guide to Machine Learning in Python](https://medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) * [How to learn Python programming: 6 experienced Python developers share their learning tips](https://coolpythoncodes.com/best-way-learn-python-programming?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) -* [How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) +* [ you can find out How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) From df75e24c9e3167800567d64c5e9b22adbdb490dc Mon Sep 17 00:00:00 2001 From: rrani8078 <70994475+rrani8078@users.noreply.github.com> Date: Fri, 2 Oct 2020 05:48:30 +0530 Subject: [PATCH 28/37] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 21a1275..5502ad2 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,10 @@ http://flypython.com - ※※※※※ - [Amazon](https://www.amazon.co.uk/Python-Cookbook-David-Beazley/dp/1449340377) +-<> + + [oreilly(https://www.oreilly.com/library/view/fluent-python/9781491946237/)] + ## Course #### Beginer From 743d98afaf959e7bb58709ed36c553a056376069 Mon Sep 17 00:00:00 2001 From: omkhulbe Date: Fri, 2 Oct 2020 16:48:54 +0530 Subject: [PATCH 29/37] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 21a1275..db21f69 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading:
-### Video Sythesizer +### Video Synthesizer * [Building a Video Synthesizer in Python](https://www.makeartwithpython.com/blog/video-synthesizer-in-python?utm_source=mybridge&utm_medium=email&utm_campaign=read_more)
From 66ee2767f5919f1b0375148e694b8500b895de11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Fri, 2 Oct 2020 21:40:56 +0800 Subject: [PATCH 30/37] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 79e6637..5ea9ecc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Fly with Python in this technological universe +# FlyPython http://flypython.com @@ -14,7 +14,7 @@ http://flypython.com - [python](https://www.reddit.com/r/Python/) - [learn python](https://www.reddit.com/r/learnpython/) - [python tips](https://www.reddit.com/r/pythontips/) - - [.python coding](https://www.reddit.com/r/pythoncoding?utm_medium=android_app&utm_source=share) + - [python coding](https://www.reddit.com/r/pythoncoding) ## Python Books From 654ca9c6b0d866105a6823d3e2e2153008457009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Sat, 28 Nov 2020 10:59:08 +0800 Subject: [PATCH 31/37] Update README.md --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 5ea9ecc..cab84d9 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,6 @@ http://flypython.com - [Code with Harry](https://www.youtube.com/playlist?list=PLu0W_9lII9agK8pojo23OHiNz3Jm6VQCH)(hindi) - -## Courses - --<> - - [oreilly(https://www.oreilly.com/library/view/fluent-python/9781491946237/)] ## Course From cd678f31abf33573c91cd99ed92dc6d2797d150c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Fri, 29 Oct 2021 22:49:48 +0800 Subject: [PATCH 32/37] Create FUNDING.yml --- .github . github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github . github/FUNDING.yml diff --git a/.github . github/FUNDING.yml b/.github . github/FUNDING.yml new file mode 100644 index 0000000..bef26ff --- /dev/null +++ b/.github . github/FUNDING.yml @@ -0,0 +1 @@ +# 这些都是支持的资金模型平台 GitHub: # Replace with up to 4 GitHub Sponsors-enabled usernames。,[ user1,user2] Patreon: # Replace with a single Patreon username Open _ Collective: # Replace with a single Open Collective username ko _ fi: # Replace with a single Ko-fi username Tidelift: # Replace with a single Tidelift platform-name/package-name.,npm/babel Community _ Bridge: # 替换为单个 Community Bridge 项目。用一个自定义赞助商的用户名代替: # Replace with a single IssueHunt username IssueHunt: # Replace with a single IssueHunt username Otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship url。,[‘ link1’,‘ link2’] From d4ac3ab6213e90802154e888b2d205e2b9915f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Fri, 29 Oct 2021 22:51:58 +0800 Subject: [PATCH 33/37] Create FUNDING.yml --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..a60cc3f --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: pxiaoer +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 0bd99fe6d759042b0b92f3cf53b3e82561be81e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Fri, 29 Oct 2021 22:52:24 +0800 Subject: [PATCH 34/37] Delete .github . github directory --- .github . github/FUNDING.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github . github/FUNDING.yml diff --git a/.github . github/FUNDING.yml b/.github . github/FUNDING.yml deleted file mode 100644 index bef26ff..0000000 --- a/.github . github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -# 这些都是支持的资金模型平台 GitHub: # Replace with up to 4 GitHub Sponsors-enabled usernames。,[ user1,user2] Patreon: # Replace with a single Patreon username Open _ Collective: # Replace with a single Open Collective username ko _ fi: # Replace with a single Ko-fi username Tidelift: # Replace with a single Tidelift platform-name/package-name.,npm/babel Community _ Bridge: # 替换为单个 Community Bridge 项目。用一个自定义赞助商的用户名代替: # Replace with a single IssueHunt username IssueHunt: # Replace with a single IssueHunt username Otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship url。,[‘ link1’,‘ link2’] From e5ee2089f267970c0fe5670acde03accb51f3628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Tue, 25 Jun 2024 23:58:07 +0800 Subject: [PATCH 35/37] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..bfb6cb6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +python.flypython.com \ No newline at end of file From 27fdca694753db770bacaf07a76da2ab9e226151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Wed, 26 Jun 2024 00:22:10 +0800 Subject: [PATCH 36/37] resurrect this repo --- README.md | 3 +-- Youtube.txt | 2 -- qrcode.jpg | Bin 28097 -> 0 bytes 3 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 Youtube.txt delete mode 100644 qrcode.jpg diff --git a/README.md b/README.md index cab84d9..c298cf1 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # FlyPython -http://flypython.com +[https://python.flypython.com](https://python.flypython.com ) -[中文版](./README_cn.md) ## Python News diff --git a/Youtube.txt b/Youtube.txt deleted file mode 100644 index 263d6d7..0000000 --- a/Youtube.txt +++ /dev/null @@ -1,2 +0,0 @@ -Learn Basics from youtube: -https://www.youtube.com/watch?v=_uQrJ0TkZlc&list=PLTjRvDozrdlxj5wgH4qkvwSOdHLOCx10f diff --git a/qrcode.jpg b/qrcode.jpg deleted file mode 100644 index e763a2e77af9a8ab55e5ae6277625117443c094f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28097 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 M%m1JJFRm;2Khab-`2YX_ From bdf1fc8421efcd88c3d23fd9d5fada893f8424e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=E5=B0=8F=E4=BA=8C?= Date: Wed, 26 Jun 2024 00:25:41 +0800 Subject: [PATCH 37/37] update readme --- README.md | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c298cf1..0218d42 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,11 @@ # FlyPython -[https://python.flypython.com](https://python.flypython.com ) - +[python.flypython.com](https://python.flypython.com ) ## Python News - [python official](https://www.python.org/) -- [realpython](https://realpython.com) - [medium](https://medium.com/tag/python) - reddit - [python](https://www.reddit.com/r/Python/) @@ -16,6 +14,10 @@ - [python coding](https://www.reddit.com/r/pythoncoding) + +## Python for LLM + + ## Python Books #### Beginner @@ -36,11 +38,6 @@ - [Amazon](https://www.amazon.co.uk/Python-Cookbook-David-Beazley/dp/1449340377) -## YouTube - -- [Code with Harry](https://youtu.be/IMGzzK9Wn4w) -- [Code with Harry](https://www.youtube.com/playlist?list=PLu0W_9lII9agK8pojo23OHiNz3Jm6VQCH)(hindi) - ## Course @@ -216,7 +213,3 @@ B) Algorithmic Trading: [Python for Financial Analysis and Algorithmic Trading: * [How to learn Python programming: 6 experienced Python developers share their learning tips](https://coolpythoncodes.com/best-way-learn-python-programming?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) * [ you can find out How Did Python Become A Data Science Powerhouse?](https://www.youtube.com/watch?v=9by46AAqz70?utm_source=mybridge&utm_medium=email&utm_campaign=read_more) -### Net Practice (for Python) -"It's better to sweat now than to bleed later" -*[Practice Here on Hackerrank](https://www.hackerrank.com/domains/python) -*[Practice Here on Hackerearth](https://www.hackerearth.com/practice/python/getting-started/input-and-output/tutorial/)