Python 学习完基础语法知识后,如何进一步提高?

在掌握Python基础语法后,要提升技能,关键在于实践。建议从学习并使用Web框架开始,遵循编码规范如PEP8,并使用pyenv管理Python版本。同时,利用doctest进行文档和测试,深入研究数据存储(如JSON、CSV、MySQL、MongoDB、Redis)以及数据结构、算法和设计模式。通过实践与交流,不断提升编程能力。
摘要由CSDN通过智能技术生成

Python作为一门技术语言,编程就应该在实践中学习,想要进一步提高,一定包含大量的实践,不能只停留在理论的阅读与理解。

根据理论知识实践起来,用得最多的就是框架,要构建一个应用,解决一个问题,一般都会借助一个成熟的框架,那应该如何学习使用框架?

直接举例说明吧,比如学习一个web框架,写一个简单的应用,在这个过程中不断引入其它方面的内容:

一、编码规范

可以先看一遍PEP8的建议,然后在IDE中引入一些检查插件,就可以按照规范进行编码了。虽然它算是比较基础的东西,但需要注意的内容很多,比如:

  1. 代码编排:4个空格的缩进不要使用Tap,更不要将Tap和空格混合使用,每行的最大长度是79,如需换行可使用反斜杠,最好是用括号,记住换行点是在操作符后边;类和top-level函数定义之间空两行;类中的方法定义之间空一行,函数内逻辑无关段落之间空一行,其他地方最好都不要空行。
  2. 文档编排:模块内容的顺序是模块说明和docstring→import→globals&constants→其他定义,其中import部分,要按标准、三方和自己编写顺序依次排放,之间记得空行;也不要在一句import中加入多个库,import os,sys都不推荐;如果采用fromXX importXX引用库,可以忽略‘module.’,都是可能出现命题冲突,这是就要采用importXX。

还有很多内容我就不一一提及了,关于这些的相关资料我都是在交流群里面领的,如果你们也想要的话,可以私信我领取。

对于编码的撰写,我提几点建议:

  1. 编码中考虑到其他Python实现的效率等问题,比如运算符‘+’在Python中的效率很高,在Jython中效率却低,就应该采用.join()的方式。
  2. 使用基于类的异常,每个模块或包都有自己的异常类,此异常类继承自Exception;异常中不要使用裸露的except,它的后面跟具体的exceptions,异常中也尽可能少用try的代码。
  3. 尽可能使用‘is’‘is not’取代‘==’。比如if x is not None 要优于if x。

二、版本管理工具

pyenv是一个python版本管理工具,可以实现轻松切换多个python版本,也可以管理virtualenv虚拟环境,这个也是比较易学的,只需花几个小时了解一下基本命令,就可以在之后的编程实践中用起来。

下面几个是所有可用的pyenv命令:

local用来设置或显示本地应用程序特定的Python版本;

global 用来设置或显示全局Python版本;

shell用来设置或显示特定于shell的Python版本;

install是使用Pyenv构建安装Python版本;

uninstall 卸载特定的Python版本;

rehash重置pyenv shims(安装可执行文件后运行此操作);

version 显示当前Python版本及其来源;versions 列出PyEnv可用的所有Python版本

which显示可执行文件的完整路径

whence列出包含给定可执行文件的所有Python版本

三、文档与测试

Python中的文档测试doctest比较简单易上手,就是对注释部分测试,按Python的自带IDE的语法进行,即交互模式,然后引入自己的实践当中。

doctest不但可以用来测试,还可以直接作为示例代码,通过某些文档生成工具,就可以自动把包含doctest的注释提取出来。

它的主要作用是提取注释找的那个代码执行,doctest模块可以提取注释中的代码执行,doctest严格按照python的交互模式的输入进行内容提取。

四、数据存储与传输、数据结构与算法、设计模式

需要进行系统的学习,要有一个整体的计划,在学习过程中不断地与实践相参照,自然能够融会贯通。

就拿python存储数据的方式来说,就有五种:

json文件,采用完全独立于编程语言的文本格式来存储和表示数据;

csv文件,数据转化成csv文件后可以直接在excel打开拉图表;

MySQL数据库,是最常用的操作了,它的优点在于能直观的看到数据;

Mongdb数据库,优点是不在乎数据结构,需要注意的是取出来的时候要写个脚本整理一下;

Redis数据库,优点是方便,速度快,需要注意的是取出的数据是二进制数据,一般需要转为字符串再操作。

最后说一句,这些依旧都是些理论知识,都只停留在表面,只有不断去尝试,才能知道自己到底在哪个层次,又该往什么方向去努力,不要还怕错误,遇到问题积极去解决,你也可以加入我的交流群学习别人的经验,寻求比你牛的大佬的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值