python程序員提高必做開源項目robobrowser
A library for web scraping built on Requests and BeautifulSoup. Like Mechanize, but with tests, docs, and a Pythonic interface.github.com
Shared by @whatthecarpmining github.com
Shared by @mgrouchywagtail
Wagtail is a Django content management system with a fresh take.
Beautifully designed so if you are looking for an alternative to Django
CMS here is your shot.github.com
Shared by @tomdhuey
A multi-threaded task queue for Python.github.com
Shared by @myusuf3Flask API
Love Django REST Framework? You can now enjoy the same beautiful APIs within Flask.flaskapi.org
Shared by @myusuf3Mario Level 1 In Python
Recreating the first level in Mario using PyGame. Awesome for anyone interested in build a 2D platformer.github.com
Shared by @myusuf3Algorithms
A collection of Data Structures and Algorithms in Python.github.com
Shared by @myusuf3rumps
Ridiculously Uncomplicated Mac OSX Python Status Bar Apps! Got a little app you want to write you can do it Python now!github.com
Shared by @myusuf3psdash
Nice looking web dashboard written in Flask that can display data about your system and its processes as returned by psutil.github.com
Shared by @mgrouchy500 Lines or Less
Awesome repository of how things work with computers and software. I am
sure we have shared this before but its definitely worth another look.github.com
Shared by @myusuf3IPython Notebook Themes
Awesome theme customization for IPython Notebooks!github.com
Shared by @myusuf3Jarvis
An attempt to create a Jarvis-like personal assistant with Python.github.com
Shared by @mgrouchyPython Practice Projects
A series of Python practice projects to help your hone your craft with deliberate practice.pythonpracticeprojects.com
Shared by @mgrouchyFlask-Foundation
A foundation leveraging best practices that you can use to start building your flask applications with.github.com
Shared by @mgrouchyStellar
Fast database snapshots for development. It’s like Git for databases.github.com
Shared by @versaepercol
Nice. Percol is an interactive grep tool in your terminal. Check out the README for a demo and more information.github.com
Shared by @mgrouchymagpie
Git-Backed Evernote Replacement.github.com
Shared by @myusuf3Explore Flask
The Explore Flask book is now freely available online. Time to upgrade your Flask knowledge.exploreflask.com
Shared by @mgrouchyThe Stolen Crown RPG
Cool! A Fantasy RPG built with Python and PyGame.github.com
Shared by @mgrouchydjango-quicky
A collection of tools to get you focused on what you building rather
than the usual nitty gritty, tons of of cool little functionality to
speed things up!github.com
Shared by @myusuf3doitlive
Cool little hack to make you look like a superstar during presentations
and screencasts. It allows you to write code before hand, and replays
the commands in a fake terminal session as you type random characters.github.com
Shared by @myusuf3Data Science 45 minute intros.
45 minute Ipython notebook presentations for getting starting with basic
programming, statistics and machine learning techniques.github.com
Shared by @mgrouchybattleschool
This is neat. Set up your development environment using ansible in a similar way you would set up your machine with something like Boxen.github.com
Shared by @mgrouchyawesome-python
A curated list of awesome Python resources, frameworks, libraries and software.github.com
Shared by @mgrouchyinbox
Inbox platform launched earlier this week, with tons of SDKs and
libraries! This is the one in Python. Great premise and should enable
people to do some great stuff!github.com
Shared by @myusuf3py-must-watch
A great collection of must watch Python videos. Great resource to start levelling up your Python knowledge.github.com
Shared by @STajbakhshawesome-machine-learning
A curated list of awesome Machine Learning frameworks, libraries and software.github.com
Shared by @myusuf3python-fields
Writing container classes often requires the writing of significant
amounts of boilerplate. Avoid all of that with the fields module which
offers a way to avoid it.github.com
Shared by @mgrouchyawesome-django
Over the last few issues there have been other “awesome” collections. If you are into Django, this is the one for you!github.com
Shared by @myusuf3Toga
A Python native, OS native GUI toolkit. Very cool project for building Native GUI apps with Python.pybee.org
Shared by @mgrouchydoorman
Keeps your secrets, secret. Allows you to put the keys, passwords and
things you want to keep secret in a config file and then hide and show
your secrets.github.com
Shared by @halitalptekinvim-bootstrap
A simple website that helps you bootstrap your .vimrc for your preferred language.github.com
Shared by @mgrouchypython-patterns
A collection of common Python design patterns and idioms.github.com
Shared by @mgrouchyflask-xxl
Interesting. A best practices approach to creating large web apps, with the goal of making flask feel more like django.github.com
Shared by @mgrouchydiscover-flask
A weekly series of Screencasts covering an introduction to Flask.github.com
Shared by @mgrouchyawesome-sqlalchemy
Lots of really awesome SQLAlchemy resources.github.com
Shared by @mgrouchylenscap
Lenscap is a static site generator for creating beautiful photo narrativesgithub.com
Shared by @myusuf3schematics
A Python library to combine types into structures, validate them, and transform your data based on simple descriptions.github.com
Shared by @mgrouchyhome-assistant
Home automation with Python.github.com
Shared by @mgrouchy500 Lines or Less
Awesome repository of how things work with computers and software. I am
sure we have shared this before but its definitely worth another look.github.com
Shared by @myusuf3tortilla
Very cool project for consuming APIs made easy. Give it a look if you are tried of writing API wrappers.github.com
Shared by @myusuf3iterstuff
A collection of tools for working with iterators.github.com
Shared by @benlast
Articles
Python 201: Properties pythonlibrary.org
Shared by @myusuf3Reasons for Using IPython Interactively
You might have heard all the talk about the wonderful IPython notebooks,
here are some reasons why you should check out the IPython interactive
shell.fastml.com
Shared by @myusuf3A Django Code Organization Strategy
I like to see this type of writing when is comes to software and how it
is laid out. This covers various options and solving problems and
proposes a few solutions. Favourite is in the comments.github.io
Shared by @myusuf3How to Save 90% on Your S3 Bill
Awesome find, everyone hosting anything on S3 will want to read this.appneta.com
Shared by @myusuf3Full Stack Python
A great guide of dealing with the full stack required with creating a
Python web application. Topics cover the entire stack from servers, web
frameworks, security and source control.fullstackpython.com
Shared by @mgrouchyStarting A Python Project The Right Way
Have an idea for your next, or first, Python project? Well check out
this article to make sure you are getting started the right way!jeffknupp.com
Shared by @mgrouchy14 Minimal Web Frameworks for Python
Want to try a lighter web framework then Django? Check out these minimal Python web frameworks.codecondo.com
Shared by @alexivanovsSaying Goodbye To Python
Amazing article and growth and the real strength of the Python community.ianbicking.org
Shared by @myusuf3A Celery-like Python Task Queue in 55 Lines of Code
Nice tutorial about how one would go about starting to create a task queue in Python.jeffknupp.com
Shared by @mgrouchyHow We Use Gevent to go Fast
Nice overview of how Pinterest used gevent to increase throughput of
site and speed up requests. They also cover the challenges they faced
during the switch over.pinterest.com
Shared by @myusuf3Unit Testing SQLAlchemy
How do you test your SQLAlchemy apps? Check out this post and its predecessor for the low down.blogspot.ca
Shared by @mgrouchyHow to Create a Python Library
In depth tutorial on how to create a python library and package it.pypix.com
Shared by @myusuf3Introduction to Python for Statistical Learning
Great introduction to tools like numpy, pandas and matplotlab for doing statistical learning work in Python.datarobot.com
Shared by @mgrouchyLessons Learned Architecting Realtime Applications
This discusses the various options of building realtime applications in
python and various technologies and techniques used and their
limitations. Good read.lincolnloop.com
Shared by @myusuf3Unyielding
Glyph of Twisted fame talks has written a great article about concurrency in Python.twistedmatrix.com
Shared by @mgrouchyPython Concurrency: An Intro to Threads
Great tutorial here. If you are looking to jump headfirst into Python
threading and concurrency, this is as good a place as any to start.pythonlibrary.org
Shared by @mgrouchyPython Property
Nice well written introduction to Python properties.programiz.com
Shared by @myusuf3Generating Machine Learning Models With Scikit-Learn
In a follow up to his last post about “Building decision trees” the
author gives a nice explanation of how to generate machine learning
models with scikit-learn.garysieling.com
Shared by @mgrouchyUnderstanding Test Driven Development with Django
If you are looking to learn a little more about Test Driven Development
or are wondering about applying your TDD knowledge to your Django work,
this is a great place to start.arunrocks.com
Shared by @mgrouchyMake Python Faster Without Trying Too Much
Nice article on the few steps you could take to make your code run
faster without too much effort. Few great tips on profiling and taking
advantage of things like pypy and cython!lukauskas.co.uk
Shared by @myusuf3Fast scraping in python with asyncio
Cool article showing you how to build a faster screen scraper by downloading pages asynchronously with asyncio.compiletoi.net
Shared by @mgrouchyMeta Programming with Python
Meta programming basics and as well introduces metaclass hooks.wordpress.com
Shared by @myusuf3Understanding Python By Breaking It
Increase your Python knowledge by breaking it. The author goes though a guided tour of poking and prodding CPythons internals.hakril.net
Shared by @mgrouchyWho needs a database?
Interesting thought experiment about completely knocking out database
from stack, this obviously has some issues but interesting to see how it
comes together.getsilvi.com
Shared by @myusuf3Logging as Storytelling #3: Types
Have you ever considered what it takes to write excellent and consistent
log messages? This article and its predecessors helps you define that.hybridcluster.com
Shared by @mgrouchyAn Artificial Intelligence for the 2048 game
2048 has been all the rage lately with projects cropping up everywhere.
This is a cool examination of implementing an AI to solve the game.blogspot.it
Shared by @mgrouchy20 Good Functions To Know in Python
Another one of these lists that just keep coming up. Likely last one we will link to so enjoy!thelivingpearl.com
Shared by @myusuf3Python Project Howto
A great place to get started to turn your Python script into a Python
project. Great guide that brings you from creating a repository to
testing your code, all the way to packaging and releasing your code.infinitemonkeycorps.net
Shared by @mgrouchyBuild a Flask App in 30 Minutes
Get up and running with your first Flask app in no time!stormpath.com
Shared by @goStormpathWriting Purposeful Unit Tests
Nice post about writing good unit tests to help you write better code,
prevent regressions and allow you to assert the correctness of your
code.appneta.com
Shared by @mgrouchyOOP concepts in Python 2.x – Part 1
Cool little article on OOP way of thinking and Python.github.io
Shared by @tw_lgiordaniGetting Started with pylint
Introduction to Pylint for beginners.blogspot.ca
Shared by @myusuf3Lightweight Virtual Environments in Python 3.4
Article covers new venv features and usecases in Python 3.4drdobbs.com
Shared by @myusuf3Understanding Gunicorn’s Concurrency Model
Nice article touching the finer points of gunicorn’s concurrency models.volant.is
Shared by @myusuf3Visualizing Realtime Data w/ Python, D3, RabbitMQ
Article on consuming data from the twitter stream using RabbitMQ and Python. Then finally visualizing the data using D3.jsbrettdangerfield.com
Shared by @myusuf3Python Data Structures are Fast
Nice article that some of you may find illuminating, with respect where
certain speed ups and loses may actually occur in Python data
structures.matthewrocklin.com
Shared by @mgrouchyA little note-taking app with Flask
Awesome read for beginners looking to start a small flask project. This
one covers the process of creating s simple note taking application in
Flask.charlesleifer.com
Shared by @myusuf3Module Properties | The Proxy Pattern
Nice explanation of how to add a @property to a Python module.github.io
Shared by @mgrouchyThe Light and Dark Sides of Python Name Binding
Pretty cool dive into python name binding! Tons of mind cool stuff to take advantage of for good and/or evil!excess.org
Shared by @myusuf310 Most Common Python Mistakes
Nice round up of really common Python gotcha’s that can trip up Python developers.toptal.com
Shared by @mgrouchyPython Partials are Fun!
If you have been wondering about how to get started with Partials this
is a great place to start. With a good explanation of what they are and
an easy to follow example to see the flexibility and power of partials.pydanny.com
Shared by @mgrouchyMaking a specific Django app faster
Really nice detailed article of the steps you the author followed to
speed up a Django application through profiling and optimization with
tips on how you can apply these to your applications.vanrees.org
Shared by @Dynamic Programming with Python
A walk through the Dynamic Programming strategy with a fun Python examplejminuscula.es
Shared by @jminusculaWhy I push for Python
Great article about why an engineering professor would make a push to teach Python to undergraduates.lorenabarba.com
Shared by @mgrouchyDockerizing a Python Web App
Docker has been all the buzz lately and this post shows you how to turn
your Python web app into an application that can be deployed using
docker containers on AWS.amazon.com
Shared by @mgrouchyHow to Organize Your Python Application Code
Nice article with some good tips of how to organize your Python code next time you are writing a Python application.pythonblogs.com
Shared by @mgrouchyMethod overriding in Python
Nice tips on Inheritance and Method overriding in Python.github.io
Shared by @tw_lgiordaniHow do I Gevent?
Really nice extensive tutorial on Gevent. Provides plenty of background
information, its pros and cons and how it all works by showing how to
create a simple web crawler.hownowstephen.com
Shared by @mgrouchyUsing Mocks in Python
Extensive introduction to mock library in Python with tons of examples.
If you are looking to learn a few things about mock this article is a
good resource.drdobbs.com
Shared by @myusuf310 Awesome Features of Python 3
Awesome presentation on why you should seriously consider Python 3 and what you are missing out on!github.io
Shared by @myusuf3Is Crossbar.io the Future of Python Web Apps?
Crossbar is an application router that implements WAMP. Nice post where the author talks about Crossbar and wonders if Crossbar could be the future of Python web applications.tavendo.com
Shared by @mgrouchyWhy Python 4.0 won’t be like Python 3.0
Nick Coghlan discusses the far future transition to Python 4.0, as well
as touches on how it might not be exactly like the transition between
Python 2.0 and 3.0curiousefficiency.org
Shared by @myusuf3Things from Python I’d miss in Go
If you switched from Python to Go what would be the features you would
miss from Python in Go? This is the question the author addresses in
this post.yosefk.com
Shared by @mgrouchyParallel Programming in Python
A very complete introduction to parallel programming in Python using
Python’s multiprocessing module. This introduction takes you from the
specifics about the multiprocessing module to its application.sebastianraschka.com
Shared by @mgrouchyPython Classes and Object Oriented Programming
Everything you wanted to know about Object Oriented Programming in Python. Great introduction.jeffknupp.com
Shared by @mgrouchyWhy Every Language Needs Its Underscore
Interesting article about the funcy library and how it is analogous to
the Underscore.js library. Its purpose is to make your life easier when
writing code and give you a series of functional tools to write cleaner,
more understandable code.hackflow.com
Shared by @mgrouchyWhy Python (or any decent language) Doesn’t Need Blocks
Very opinionated article on the hype of blocks in other languages and why they are no better than functions.blogspot.it
Shared by @myusuf3Using Docker as a Python Development Environment
Docker is all the new hotness, check out this post detailing how to use Docker for your Python development environment.uglyduckling.nl
Shared by @mgrouchyAnti-Patterns in Python Programming
A look at some common Python programming anti-patterns and how to correct those common mistakes.lignos.org
Shared by @mgrouchyDecorators and Functional Python
How can Python’s decorators help us thing in a functional way? Great
information about Python decorators and how how they can teach us to
think about functional concepts like higher order functions and
closures.brianholdefehr.com
Shared by @mgrouchyThe Forgotten Optional else in Python Loops
I love this article, if you always felt dirty creating variable to keep track of conditionals, else clause reprise y’all.svbtle.com
Shared by @myusuf37 Python Regular Expressions Examples
Get the lowdown on using Regular expressions in Python.thegeekstuff.com
Shared by @mgrouchyMethod decorators in Python
Decorators is probably the most popular topic for Python programming
blogs. We can probably take this as a sign that not everyone understands
them yet so check out this post on method decorators.agiliq.com
Shared by @mgrouchyHow to argue for Python’s use
Python core developer Brett Cannon gives you some ammunition next time
someone asks you “Why use Python?”. Nice contrast of the reasons why Go
is a good language and why you might still want to use Python.svbtle.com
Shared by @mgrouchyBecome A Better Programmer – How To Read Source Code
Reading source code is one of the most useful skills to learn for any
programmer. In this post the author gives some nice tips to step up your
code reading game.pythonpracticeprojects.com
Shared by @mgrouchySimple Python Parallelism
Nice tutorial of how to easily parallelize tasks in Python with the languagesmultiprocessing library without getting bogged down learning other parallization frameworks.github.io
Shared by @mgrouchyMaking database-backed dashboards in 3 minutes
Very simple tutorial to create Matplotlib graphs and ship them as part of email reports and web dashboards.maxmautner.com
Shared by @myusuf3Getting Started with Python Internals
Nice guide to get you ready to jump in and start working with Python internals.github.io
Shared by @mgrouchySetting up Sublime Text 3 for Full Stack Python Development
Fantastic guide to help you get up and running with Sublime Text for your next Python project.realpython.com
Shared by @mgrouchyPython for Programmers
A nice collection of all the things you probably wanted to know when you started writing python programs.rustyrazorblade.com
Shared by @mgrouchyRefactoring monolithic if/else filters with closures
Nice little example on how to refactor your monolithic if/else clauses
for filtering data. Provides a small albeit contrived example to
illustrate the issue.startmake.com
Shared by @scottallenonTeaching an old dog new tricks – or, how I learned to love Python’s str.format, and gave up on %
Very nice guide about changing your ways from using ‘%’ to format Strings in Python and use string.format instead.lerner.co.il
Shared by @mgrouchyHow to Use Python Regular Expressions to Parse a Text File (Practical Use Case Scenario with Python Reg-Ex Re Split Sub)
Great tutorial. Guides you step by step to parsing and cleaning up the
resulting text from text files with Python regular expressions.thegeekstuff.com
Shared by @mgrouchyHigher Order Functions and List Comprehensions in Python svbtle.com
Shared by @myusuf3How to Supercharge Your Python Shell with a .pythonrc
Awesome small little way to make your python shell so much more convenient.dlo.me
Shared by @myusuf3Python Bad Practice, A Concrete Case
Awesome run down of bad practice Python, with concrete examples!danjou.info
Shared by @myusuf3Python Single Line For Loops
Nice introduction to list comprehensions here for the new Python programmer.teamtreehouse.com
Shared by @mgrouchyGuido van Rossum On Finding His Way
The Python creator and Dropbox engineer reflects on his early days in programming.medium.com
Shared by @myusuf3Tutorial I Wish I Had When Tackling AJAX and Django
Beginners tutorial on how to use AJAX and Django!wordpress.com
Shared by @myusuf3Celery In Production
How Caktus Group uses Celery in production!caktusgroup.com
Shared by @myusuf3Maybe in Python senko.net
Shared by @myusuf3Asyncio Implementation Overview
Awesome article for understanding asyncio! For the beginner to async programming but adequately experienced python developers.bitdance.com
Shared by @myusuf3Django vs Flask vs Pyramid: Choosing a Python Web Framework
Comparing the big 3 Python web frameworks!airpair.com
Shared by @myusuf3Five mini programming projects for the Python beginner
New to Python programming? Here are five projects to help get you started.medium.com
Shared by @mgrouchySimple Interactive Data Analysis with Python
Simple article for the simple basics of python interactivity and the
awesomeness that is IPython so if you haven’t tried it out yet. Great
place to start!pbpython.com
Shared by @myusuf3In Python, it’s all about the attributes
Very detailed post about attributes in Python. Good read!lerner.co.il
Shared by @mgrouchyAdvanced use of Python decorators and metaclasses
Got the basics of Python decorators and Metaclasses down? If so time to step up your Python game with more advanced techniques.lgiordani.com
Shared by @tw_lgiordaniDjango vs Flask vs Pyramid: Choosing a Python Web Framework
This post presents a nice comparison to help you choose the between the Django, Flask and Pyramid web frameworks.airpair.com
Shared by @elldudleyFluent interface in python kracekumar.com
Shared by @mgrouchyBuilding Web Applications with Django and AngularJS
Now this is a very detailed guide to building web apps with Django and Angular.js. Definitely worth checking out.thinkster.io
Shared by @mgrouchyPython Comprehension Syntax
Nice comprehensive tutorial of Comprehension and Generator syntax in Python.airpair.com
Shared by @elldudleyVirtualenv the Docker way
Some neat tricks for working with Virtualenv inside your docker containers.atte.ro
Shared by @mgrouchyModern guide to getting started with Data Science and Python
Nice post, but I dont agree with his tempered advice for newbies not to take a look at numpy and matplotlib! Good read though!github.io
Shared by @myusuf3Multiprocessing and Memory
Multiprocessing in Python doesn’t get much HYPE. Here is a cool little post how it can be effective in a ton of spots.yseam.com
Shared by @myusuf3Recommended Django Project Layout
Unsure on how to setup your Django project?revsys.com
Shared by @myusuf3Top 10 Python idioms I wish I’d learned earlier
A nice collection of Python idioms that are very nice to know! Check out
the discussion section for further discussion of this post on reddit.blogspot.ca
Shared by @mgrouchyThe Future of Asynchronous IO in Python
Real nice overview of common design patterns of the past and a look at the emergent patterns in Asynchronous IO in the future.medium.com
Shared by @mgrouchyA Python Internals Adventure
Awesome article on diving into python internals and CPython.dreamwidth.org
Shared by @myusuf3Retries in Requests
Nice dive into one of the advanced features of the requests library,
retries. Nice example to get you started here if this is something you
need in your next project.coglib.com
Shared by @sigmavirus24Why is Object-Oriented Programming Useful?
Nice little article on OOP for beginners.inventwithpython.com
Shared by @myusuf3Deploying a Django app on Dokku
Get up and running with your favorite django applications on Dokku. Very cool!realpython.com
Shared by @myusuf3Django and Flask: Why and When To Use Each
Cool talk, on when to use which framework and when to switch!hakkalabs.co
Shared by @myusuf310 Myths of Enterprise Python
Nice breakdown of myths from PayPal Engineering.paypal-engineering.com
Shared by @myusuf314 Best Pandas Features
Nice breakdown of 14 great(and possibly best) Panda’s features. Discover what you might be missing out on.bigdataexaminer.com
Shared by @mgrouchyThe Top Mistakes Developers Make When Using Python for Big Data Analytics
Nice breakdown of common mistakes that developers often make when working with Python for big data analytics.airpair.com
Shared by @elldudleyjson vs simplejson vs ujson
Very detailed rundown with benchmarks of the differences between common python JSON parsing libraries. SPOILER: ujson is the fastest by a considerable margin.medium.com
Shared by @mgrouchy個人專欄:知乎專欄編輯于 2016-05-0622314 條評論分享收藏感謝收起董偉明《Python Web開發(fā)實戰(zhàn)》作者。訂閱號:Python之美69 人贊同了該回答謝邀。--- 2016.09.20 補充 ---GitHub - gregmalcolm/python_koans: Python Koans 是個不錯的練手項目,我還曾經(jīng)給它貢獻過代碼。在你學會Python以后可以拿它練手,一步一步的完成所有待解決的問題。--- 補充結(jié)束 ---我在我的專欄「Python之美 - 知乎專欄」中寫過一篇文章 教你閱讀Python開源項目代碼 - Python之美 - 知乎專欄。其中介紹了初學者和有一定經(jīng)驗者可以閱讀的一些開源項目,最后也介紹了閱讀別人代碼的一些經(jīng)驗,在這里再發(fā)一下,順便加點其他的推薦:閱讀Python開源項目代碼主要有如下三個原因:1. 在工作過程中遇到一些問題,Google和StackOverFlow等網(wǎng)站找不到解決辦法,只能去翻源碼。2. 對某些項目或者方向非常感興趣,希望深入。3. 學習遇到瓶頸需要汲取開源項目的經(jīng)驗和用法來做提高。沒有目的的閱讀開源項目就是耍流氓。浪費了時間,但是能學到的東西也很少。怎么樣根據(jù)自身情況去閱讀呢? 1. 和興趣以及工作契合。舉個例子,工作中沒有機會用到Celery又不是想自己造個輪子,讀它的源碼做什么?所以要從平時能接觸到的那些項目中選取。比如我,我肯定不去看Django的代碼,因為日常工作基本遇不到,遇到了現(xiàn)翻就好了。2. 一個方向只看一兩個典型的就可以了。比如Web框架,我只看過Bottle和Flask的源碼(其實之前也看過Django的,只是淺嘗輒止),而且看Bottle已經(jīng)是好幾年前的事情了。并不是堆的多了更好,有時候反而選擇太多會懵。3. 不同技術階段的選擇代碼量、復雜度不一樣的項目,下面會具體推薦。4. 清楚自己看代碼的目的。就是你看代碼是想了解人家怎么設計、調(diào)試BUG、還是只是想學習正確的編程用法呢?其實沒有必要細摳每個代碼細節(jié),有時候當黑盒看,知道輸入輸出就可以了。我個人的喜好和工作中看別人代碼差不多,基本每個人、每個項目、每個團隊都有自己寫代碼的風格,比如變量命名風格、某些語言特性使用方式、代碼規(guī)范要求、目錄風格等,其實開源項目的作者也是一樣??创a,如看人(團隊)。 首先介紹下我的喜好(排名分先后):1. kennethreitz。requests和python-guide作者。他還有一個非常勵志的故事,有興趣的可以看 誰說程序員不是潛力股?2. mitsuhiko。flask、Jinja2、werkzeug和flask-sqlalchemy作者。3. sigmavirus24。flake8、pycodestyle(原pep8)、requests、urllib3等項目的主要貢獻者和維護者。4. ask。Celery及相關依賴的作者。
5. ajdavis。mongo-python-driver(pymongo)、tornado等項目的主要貢獻者。
6. bitprophet。fabric、paramiko(Python的ssh庫)作者。前2個是公認的Python領域代碼寫的最好的、最有創(chuàng)意的工程師。初學者推薦閱讀項目初學者可以先閱讀一些代碼量比較少的,最好是單文件的項目:1. GitHub - kennethreitz/pip-pop: Tools for managing requirements files. 2. GitHub - kennethreitz/envoy: Python Subprocesses for Humans?.3. GitHub - kennethreitz/records: SQL for Humans?4. GitHub - mitsuhiko/pluginbase: A simple but flexible plugin system for Python.5. GitHub - mitsuhiko/pipsi: pip script installer6. GitHub - mitsuhiko/unp: Unpacks things.7. GitHub - chrisallenlane/cheat8. GitHub - jek/blinker: A fast Python in-process signal/event dispatching system.9. GitHub - mitsuhiko/platter: A useful helper for wheel deployments. 10. GitHub - kennethreitz/tablib: Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c. 看代碼主要是了解別人寫代碼的方式,語法實踐這些內(nèi)容??赐曛螅憧梢葬槍@些項目能解決的問題自己寫個項目,寫完之后和上述項目去對比一下,看看哪些方面做的不好。進階閱讀項目進階的時候就要閱讀一些相對復雜的項目,它們能幫助你提升Python編程技巧:1. faif/python-patterns。使用Python實現(xiàn)一些設計模式的例子。2. pallets/werkzeug。flask的WSGI工具集。其中包含了實現(xiàn)非常好的LocalProxy、cached_property、import_string、find_modules、TypeConversionDict等。3. bottlepy/bottle。閱讀一個Web框架對Web開發(fā)就會有更深刻的理解,flask太大,bottle就4k多行,當然如果你有毅力和興趣直接看flask是最好了的。4. msiemens/tinydb。了解用Python實現(xiàn)數(shù)據(jù)庫。5. coleifer/peewee。了解ORM的實現(xiàn)。6. pallets/click。click已經(jīng)內(nèi)置于在flask 0.11里,提供命令行功能,值得閱讀。7. mitsuhiko/flask-sqlalchemy。了解一個flask插件是怎么實現(xiàn)的。除此之外Web開發(fā)者可以閱讀一些相關的項目:1. runscope/httpbin。使用flask,網(wǎng)站是httpbin(1): HTTP Client Testing Service。2. jahaja/psdash。使用flask和psutils的獲取Linux系統(tǒng)信息的面板應用。3. pallets/flask-website。 flask官方網(wǎng)站應用。4. pypa/warehouse。如果你使用pyramid,這個新版的PYPI網(wǎng)站,可以幫助你理解很多。當然,2個學習flask重要的資源必須爆一爆:1. GitHub - realpython/discover-flask: Full Stack Web Development with Flask。
2. The Flask Mega-Tutorial。 這個就是《Flask Web開發(fā):基于Python的Web應用開發(fā)實戰(zhàn)》的原始博客。500lines推薦一個非常厲害的項目 GitHub - aosabook/500lines: 500 Lines or Less, 它里面包含了22個由該領域的專家完成,用不到500行的代碼實現(xiàn)一個特定功能的子項目。連Guido van Rossum都親自來寫基于asyncio爬蟲了,Nick Coghlan、ajdavis也出場了。更具體的介紹可以看Python 的練手項目有哪些值得推薦? - 小小搬運工的回答。最后再推薦一些更復雜的項目,可能不算練手的范疇,但是對于練手的技藝提高有很大幫助(您總不希望一直寫練手項目吧),可以學到更多的項目設計、編程技巧等方面的內(nèi)容:GitHub - pallets/jinja: The Jinja2 template engineGitHub - mongodb/mongo-python-driver: PyMongoGitHub - andymccurdy/redis-py: Redis Python ClientGitHub - getredash/redash: Make Your Company Data Driven. Connect to any data source, easily visualize and share your data.GitHub - jmcarp/robobrowserGitHub - idank/explainshell: match command-line arguments to their help textGitHub - madisonmay/Tomorrow: Magic decorator syntax for asynchronous code in PythonGitHub - amoffat/sh: Python process launchingGitHub - jeffknupp/sandman: Sandman "makes things REST".GitHub - benoitc/gunicorn: gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.GitHub - jaraco/path.py: "Path" object conveniently wrapping assorted file/path-related functionalityGitHub - grantjenks/sorted_containers: Python Sorted Container Types: SortedList, SortedDict, and SortedSet
最后:
自己多問下為什么學python
如果一門語言沒有改變你的編程思維,那么它不值得你去學習”。如果這么說,我們大學的時候,學習了c,c++,java,C#,算是值得學習么?很多時候是不值得,我覺得我們大學的課程就是用java,c#,c++把"C程序設計"又上了一遍.
這是因為,學校的老師會C和java之類的,所以要跟著規(guī)矩開這門課,(這也就是為什么,許多學校還在教vb,),這也就是為什么,你所以為的一樣就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所謂的不一樣就是用C有指針,java沒有,這就是為什么教育是失敗的,這也就是為什么,我目前認識的幾個編程大牛
python的優(yōu)點:簡單 我所說的簡單,是相比于象C和C++這樣的語言,你為了編程,要學習許多偏底層的東西.在比如,你在學習一個新的編程范式,或者想要馬上做個例子看看,試驗某個API,如果你是寫java的,你不得不去寫一個main,寫一些構(gòu)造,即使有IDE這樣的東西,能夠為你帶來代碼生成器,而我做得就是寫一段“腳本”,或者打開python交互式解釋器就行了。
自己認識的python朋友出去工作,工資比較高,然后自己又剛剛好是會python所以選擇學習python,這樣的人比較危險但是也比較有激勵,還有就是覺得python比其他開發(fā)語言好用。
學完python前景會咋樣
其實我個人是很看好python未來的就業(yè)前景的,因為我認識太多的工程師都已經(jīng)在學python,很多都是月收入大幾萬的
我個人也并非一直用python。前些年主要用c/c++以及java開發(fā)一些通信,移動系統(tǒng),互聯(lián)網(wǎng)通信。近3年開始才轉(zhuǎn)向python。坦白的說,這可能與你相處的公司以及環(huán)境不大一樣。隨便舉個例子,google的protocol buffer協(xié)議一出來就具有c++/python/java三種語言支持。google的廣告系統(tǒng)早在03,04年左右就一并對python進行了webservice支持,大部分涉及基礎核心系統(tǒng)的公司,都開始對python進行了擴展支持。甚至開源社區(qū)的postgresql數(shù)據(jù)庫,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外對python進行了內(nèi)嵌支持,唯獨卻沒有呼聲很高的java。在FREEBSD(MIT)/LINUX(GPL)平臺上,對java可能排斥性比較大,但綜合而言,目前python發(fā)展還沒有java那種普及,主要是python大部分工作仍然是在較為深入地系統(tǒng)層和框架層做設計開發(fā),例如django,SQLAlchemy,fail2ban,mail郵件系統(tǒng),twisted等等。這部分對于那種習慣應用前輩們框架的編碼人員而言,缺乏創(chuàng)造力的他們根本無法適用這種開發(fā)。尤其在python涉及一些系統(tǒng)層面需要有較強的c/c++能力,這部分人在國內(nèi)要么就累得要死沒時間,要么就啥都不會就會拷貝代碼,而國內(nèi)公司也鮮有主動去做這部分基礎勞動的,大多都是等別人做好了在直接拿來用,所以造就了任何技術性的東西出來,國內(nèi)都是先等等看,然后抄襲應用。
大環(huán)境如此,但千萬誤認為先等等看吧。對于一個技術人員而言,缺乏對新技術的渴望與熱情,這是一種非常危險的事情。我工作8年了,按照國內(nèi)很多的人的說法早已不做代碼了,但又一次在聽一個老外的演講,他說他50多歲仍然每天堅持寫代碼,了解最新的動態(tài),所以他才能做到他們公司的首席科學家,因此它才能時刻指導項目團隊前進并保證項目的質(zhì)量。他坦言對于一個不寫代碼并且不了解最新的技術動態(tài)的技術人員或者技術團隊的負責人而言,這種團隊也就足夠做作小項目,一旦壓力和項目過大,就會有很多問題漏出來。
對于新人而言,無論學習什么技術,都要以鼓勵的姿態(tài)出現(xiàn)。太多用薪水和你個人所看到的現(xiàn)狀去衡量一門技術,那絕對是欠缺眼光的。任何一門技術,一旦有人學習,他有可能逐漸成為這個領域的專家,即便再濫再沒有人用的開發(fā)語言技術,他也有可能就是明日的奠基者或者大師。
自己如何確定目標
在生活中學會不斷挖掘自己的潛力。我們都是一個普通人,可能并不清楚自己到底在哪方面占有優(yōu)勢。所以,學著在生活中找到自己的優(yōu)勢,并根據(jù)優(yōu)勢選擇一定的就業(yè)方向。
不隨波逐流。不要看周圍的人做什么,自己就做什么,也許別人做的并不適合你。別人的優(yōu)勢很可能會成為你的劣勢。所以,堅定自己的想法,讓自己知道那些方面適合自己,自己可以勝任。
不斷嘗試可能成為自己的優(yōu)勢。你不知道什么適合自己,所以才要大膽、勇敢地嘗試。找到一種可以屬于你的獨特的優(yōu)勢。
堅定信念。一旦你堅定了自己的信念,就不要被別人的意見或是諷刺或是嘲笑所干擾。別人不是你,不懂的你在想什么,不清楚你開始這件事的源頭。你的事情,不了解你的人,沒有資格輕易評說。
不茫然,不多想。別讓太多的事干擾到你奮斗下去的信念。夢想不容許太多的雜念。那些雜念只會讓你的心愈來愈脆弱,多為一個人考慮,到頭來,傷害的還是自己。
選擇自己學習方法
每個人都有適合自己的方法,有的人去選擇自學,有的人選擇看視頻學習,有的人選擇報名培訓班,那在這個時候,你就要自己考慮清楚,到底那樣對的幫助是最大的,個人覺得是跟著培訓班最好的,畢竟人家的實戰(zhàn)項目多,我們學軟件開發(fā)的都知道實戰(zhàn)項目對于學好一門語言是 很重要的。
學習python有那些誤區(qū)
具體里面的誤區(qū)非常的多,那些就不需要我去寫出來,我給你說的一般都是心態(tài)的問題,首先一個覺得自己會java和c++,然后我學習python就很牛,但是你要知道語言是有很多相同的地方,但是不是通用,一定要自己學習的仔細。還有一種就是覺得我不會英語,我要先去把英語學習好在來學python。因為自己想還壞主意然后學習,這樣的都是容易找進誤區(qū)的。
怎么樣才能學好python
學好python你需要一個良好的環(huán)境,一個優(yōu)質(zhì)的開發(fā)交流群,群里都是那種相互幫助的人才是可以的,我有建立一個python學習交流群,在群里我們相互幫助,相互關心,相互分享內(nèi)容,這樣出問題幫助你的人就比較多,群號是304加上050最後799,這樣就可以找到大神聚合的群,如果你只愿意別人幫助你,不愿意分享或者幫助別人,那就請不要加了,你把你會的告訴別人這是一種分享。
感覺寫的好,對你有幫助,就點個贊唄,別光只收藏哈.~( ̄▽ ̄)~
?