在学习了基础知识之后,应该怎么做才能增加Python的专业知识?

了解如何通过Python访问SQL RDMS…并学习如何完成普通的单个表CRUD(创建,检索,更新,删除)原语。 现在学习如何创建具有外键关系和参照完整性约束的多表模式。 了解如何通过这些关系(连接表)使用JOIN来选择数据集和数据子集。 了解如何建模1:M(一对多)和M:N(多对多)关系,如何直接在数据库中进行查询(而不是获取ID集,然后使用获取的ID进行单独查询)。 您无需安装,配置和维护数据库服务器就可以完成所有这些操作。 只需导入sqlite3 您甚至可以从中学到真正需要的一切。 (尽管如此,我强烈建议分别安装MySQL和/或PostgreSQL并学习如何对它们进行所有这些CRUD操作)。 如果您只是进入该领域并寻找有偿工作,那么MySQL在短期内将更加有用。 可以说PostgreSQL是一个更好,更符合标准的数据库系统。 但是,许多初创企业都使用MySQL,许多公司已经获得或采用了依赖于MySQL语义的代码和项目。 一旦您对SQL / RDBMS相当满意,便可以投入一些精力来学习多线程和多处理。 您可能不会经常使用这些。 但是,在考虑任何不平凡的软件体系结构(包括网络和群集管道以及拓扑)时,理解这些概念将很有用。 重点介绍如何通过Queue模块(用于线程化)和multiprocess.Queue类使用“生产者/消费者”模型来编写SMP友好代码。…

我应该为此项目使用Django还是Flask?

Flask并不是一个框架,而是一个工具包。 它为您提供URL路由,模板引擎和开发服务器。 而已。 一切都供您选择(例如,对于您的ORM和DAL,使用SQLAlchemy;对于表单,使用WTForms;对于用户管理,使用Flask-Login)。 这种方法的优点是Flask可以很快上手,它并没有决定项目的外观。 当您刚开始并且还不知道自己要构建什么时,这非常好(并且不会,请相信我)。 但是,随着项目的发展以及做出更多的技术决策,Flask可能会开始变得有些笨拙,因为您需要处理所有的软件包和扩展,并可能需要开发自己的所有功能。 这是任何微框架的缺点,您基本上是从头开始构建完整的胖框架。 像Django这样的完整框架的优点在于,它带有很多现成的东西(例如其著名的管理页面),并且其扩展库使Flask黯然失色(您可以找到诸如django-haystack这样的非常有用的东西进行全文搜索)。 这使您无需多想。 尽管它确实非常强烈地响亮地指示了您的项目的外观,但其方法在技术上并不差。 它迫使您考虑将自己构建为一堆松耦合,可重用的组件。 这不是构建事物的坏方法,但是当您刚开始时,这是一个很大的难题。 但是,当您需要类似Django的东西时,您应该已经对要构建的东西有了扎实的了解。 本质上,您可能想从Flask开始。 Django的所有内置功能在技术上都可以通过Flask以扩展名和手肘油脂的形式使用。 Flask-Admin甚至提供了Django的管理界面,您只需要自己实现视图即可。 Flask的轻巧性和灵活性使您可以比Django更快地启动和运行,这是刚开始构建某些东西时真正想要的。…