前言

作为一个 2020 年的 QA,技能要求与日俱增,稍不学习就会被环境淘汰。掌握一门语言尤为重要,代码一直是我的薄弱项(面试在这方面吃过很多亏),所以我决定利用工作之余学习一门语言,对于我这种小白来说,python 就成了首选。

过程

既然决定了,那就开始做吧。
python 安装
pycharm 下载、安装、卸载........啊呸!启动!

按照惯例
print("hello world!")

python 的学习之旅就算是正式开始了!

打印正三角、倒三角,将之前有了解过的 selenium 实验了一下

了解了一下 “爬虫” 的基本原理和实现方式,爬帖子评论,爬 B 站图片,感兴趣的都实验了一遍(当然大多都是 copy 的)

然后,新奇过后,我迷茫了,不知道接下来该干嘛。就像做饭烧热了锅,却不知道蒜葱肉油调料哪个先下锅
既然是新手,那就先去搜索一下“python 编程基础练习题”

1.猜数字

随机生成一个数(1-20),输入一个数
如果相等,游戏结束
如果猜小了,提示猜小了,继续猜
如果猜大了,提示猜大了,继续猜
只有三次机会,超过三次,游戏结束


2.通讯录

实现通讯录的功能,如:“小王”:“16666666666”,“小李”:13333333333
欢迎来到通讯录!
1.查询联系人资料(查询指定联系人)
2.插入新的联系人(存在,修改。不存在,添加)
3.删除已有联系人
4.查看所有联系人
5.退出

凭借我强大的编(bai)程(du)能力,实现了通讯录的增删查改功能

增:

查:

删:

探索

这时遇到一个问题,数据只在程序运行的时候存在,当我停止运行程序,下次再运行时,增加的联系人数据就消失了,必须重新添加。
所以我想,要是能将数据保存在数据库里的话,就不用担心消失了!

说干就干
import MySQLdb 导入模块成功(这里有很多坑,各种失败,但基本网上都有解决办法)
数据库新建我们用来放数据的表,添加 id、name、phone 三个字段

然后试着用 python 写入一下

成功!!!

这里遇到一个问题,英文能成功,输入中文就报错,插入失败

在末尾加上 charset="utf8"
完美解决!!!

数据库连接成功了,接下来和我的通讯录结合起来,就从增加开始

增加成功!!

赶紧把其他的也加上,改成从数据库拿数据

查找数据:
这里遇到问题,要么输入字母报错,要么输入多个汉字报错。最后在参数 “search_name” 后面加上一个逗号解决了这个问题

删除数据:

查看所有数据:


做到这里已经实现了通讯录的增删查改,并且数据保存在数据库,不担心数据丢失的问题。
顺其自然的想到,要是有个前端页面去操作就完美了

创建一个 HTML 文件


前后端数据怎么交互呢。对!接口,去学习一下接口怎么做

安装 flask 模块

实验成功!开始实现我们的功能

带参数的 get 接口,输入姓名查看电话号码


终于知道开发整天对着这个窗口在看什么了

照葫芦画瓢,把其他几个需要用到的接口也做出来

查看所有人电话:


新增联系人:(这里遇到一个坑,就是格式不规范,导致一直报错,所以说格式一定仔细,循环逻辑一层包一层,真的很重要)
这里的逻辑还不是很完整,只有新增没有修改。我的想法是在最前面加一个判断,从数据库搜索,如果没找到就进入新增流程,找到了就进入修改流程

删除联系人:


遇到困难

一开始我想的是,接口都有了,调用一下不就完事了吗。但是真正上手后好像并不是说说这么容易的,研究了一下午了没啥头绪。目前打算去抓一个前端严刑拷打一顿。

下一步的计划:

1.前端页面完成增删查改,前端页面美化
2.打好基础。多找几套 “python 编程基础练习题” 来做 ,了解每一道题的实现方式、其中的逻辑,尽量自己完成,减少 copy

总结

这就是我这段时间学习 python 的历程,虽然很多代码都是从网上 copy 的,但是有些地方我也加入了自己的理解和实现,而且通过不断的试错报错修复,也大致对 python 有了初步的认识。我不反对 copy,毕竟刚学什么都不懂,不 copy 能咋办呢?就像读书时,虽然平时的数学作业都是抄的,但考试的时候也总能做对几道吧。但是我反对无脑的 Ctrl c+Ctrl v , 我在抄的时候,会对照着自己一个一个字母敲出来,弄懂他是怎么实现的,每一段代码都是什么意思。 所以,就算距离一开始实现的猜数字小游戏已经过去了差不多一周的时间,现在让我完全自己实现,也没有问题,记忆还是很深刻。但是假如我是完全复制粘贴,运行一下成功了就不管了,那我现在肯定全部忘得一干二净了吧

希望对和我一样刚开始摸索的玩家有所启发帮助,我们一起学习共同进步~😃


↙↙↙阅读原文可查看相关链接,并与作者交流