就是要学社区 QQ群组:646854445
你并非已无懈可击,所以你不能逃避问题,拒绝学习!

046孤荷凌寒自学python建构自己的Python模块与类第一天

|阅读量:63 |发布于2020-08-01 07:35:30


正文内容

Github:

https://github.com/lhghroom/ZeroBasicSelfStudyPython


(完整学习过程屏幕记录视频地址在文末,手写笔记在文末)

按上一天的规划,这是根据过去我自学其它编程语言的经验,我觉得对Python的肤浅的基础的知识学习完成之后,一定也要开始的构建自己的Python编程大厦的脚手架——开始将一些自己用起来顺手的常用功能封装块化,建立模块和类,形成一种基础沉淀,这样整个自己的Python学习大厦才将越修越好,这是从我过往的编程语言自学中总结出来的,今天经过第一天的尝试,发现建构自己用起来顺手的一些模块还是非常有必要的。


一、尝试将Python的所有提示可视化,成为像windows系统那样的对话框


tkinter模块提供了这样的可视化对话框对象,但此对象中弹出不同的对话框,就要使用不同的方法,而且方法名称繁复,且参数不少(然而其中多数参数其实是基本用不上的)。

之前我长时间使用过vb系的编程语言,深知vb系统的编程语言一句msgbox 就能搞定全部对话框的精妙与简单。

于是,我尝试建立的第一个通用操作模块中的第一方法函数就是模仿出vb系编程语言的msgbox函数。

下面就是我的第一个自定义模块,主要存放一些方便调用的通用的自建函数:

文件命名为:_mty.py


今天我已经在此自定义模块中编写好了两个函数。

其中第一个函数【msgboxGhlh】就是模仿vb系的msgbox方法的函数。通过调用tkinter模块的多个不同的弹出对话框方法来实现相似的功能。详细构建我在代码的注释中已经描述得非常清楚了。


我已经将我的自建模块托管到github.com上,下面是地址:

https://github.com/lhghroom/python3_mod_ty

通过此文件,我尝试通过对参数的调整,成功调用了所有不同的对话框样式,

首先在windows系统下获得完全成功。

在linux系统下(我是在fedora28)系统下,一开始直接报些看不懂的英文的错误提示,一头雾水。折腾了一个小时,忽然歪打正着,因为上面代码的文件名我本来是命名为:

ghlh_python_46th.py

注意文件名中有“python”这个单词

后来我尝试将文件名修改为:

aaaa.py

那种可怕的错误提示就没有了!!!

这种莫名其妙的问题,从网络上从来没有人提到过,原来在linux系统下,至少是在fedora系统下,py文件的命名中连【python】这个单词都不要出现,真是邪乎,不知道是不是只有我一个人遇到了这种邪乎的情况。

然后在Linux系统 (我是fedora28)系统下就测试通过了,与windows下的效果是一模一样的。

此外同时发现如果py文件的命名中有中文名称或者文件名过长或文件所处的文件夹层次过多,同样会有错误发生,这可能是py在处理中文及对文件名路径总长度上容差的一个BUG.

当然这也算是只有实践才能出真知的一个有力证明!!

如果我不亲自去实验,不去花费那么多时间去自己尝试解决问题,将不会发现从来没有人提到过的错误。

虽然说自学看上去是要走很多弯路,但若是不走这些弯路,肯定不会有深刻感受。这两者如何取舍各自仁者见仁,智者见智吧!


二、继续深入学习Python的数据库操作,成功写出了第一个自定义操作所有数据库的通用数据库操作函数。


在体会到自己成功建立第一个自定义模块,并完成了第一个通用函数的之后,我又一鼓作气,继续学习此段姐夫进入重点——数据库操作


于是我又建立了新的一个专门用于自己方便操作数据库的模块文件:

_mdb.py

我已经将我的自建模块托管到github.com上,下面是地址:

https://github.com/lhghroom/python3_mod_db


(一)书写这个模块花了五个小时,统一操作目前我习惯使用的四种数据库:

mysql

mssql

access

sqlite


其实他们内部的字段的数据类型是有细微的差别的,虽然都是使用统一的关系数据库的SQL语句来进行操作,但细节上略有不同,造成了很大的麻烦,但我需要却是一个可以通吃所有数据库的全能通用模块,便花了大量时间来学习研究几大数据库中字段类型声明上的不同,并且分析最优选择。

下面是我个人分析的最优取舍,因此上面我建构的函数其实不能“创建所有字段”类型的数据表。只能创建出最优选择的字段类型的数据表!



我的学习过程录像百度盘地址分享如下:(清晰度:1280x720)

链接:https://pan.baidu.com/s/1iOf11tkYOzMOpkHZ5wxfsg

提取码:fsjy


Bilibili:

https://www.bilibili.com/video/av38764044/


喜马拉雅语音笔记:

https://www.ximalaya.com/keji/19103006/147022762



【就是要学】社区
一个平等,纯粹的社群
本社群旨在为真正愿意不断学习,终身成长的朋友提供一个平等互助互相鼓励的清洁纯粹的学习交流的平台。
加入社群将获得
1、与真正终身学习者为伍
2、在榜样带领下坚持每天学习,终身成长
3、养成记录时间日志,成功日记的习惯


【就是要学】社区QQ群:646854445





【返回首页】