Python 一个新手玩家的 python 初体验

· 2020年05月09日 · 最后由 往事随风 回复于 2020年06月22日 · 3825 次阅读

前言

作为一个 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 , 我在抄的时候,会对照着自己一个一个字母敲出来,弄懂他是怎么实现的,每一段代码都是什么意思。 所以,就算距离一开始实现的猜数字小游戏已经过去了差不多一周的时间,现在让我完全自己实现,也没有问题,记忆还是很深刻。但是假如我是完全复制粘贴,运行一下成功了就不管了,那我现在肯定全部忘得一干二净了吧

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

共收到 9 条回复 时间 点赞

文章的思路很流畅,我最近也在学 python,但总感觉学习点很分散,楼主的文章给我很大的启示,感谢分享

2楼 已删除
九天 回复

我设定的目标是搭建自动化平台,所以大概方向是朝着这方面去学习,前端的后端的等等,感觉还有一段很漫长的路要走,目前只是迈出了第一步。

不亦乐乎

楼主之前有编程基础吗 感觉你学的真快 哎 能指点一下吗 或者有什么好的教程吗 感谢

之前有稍微了解一下 java 但也仅仅是了解。所以对代码这块几乎等于 0 基础。就我的理解来说,我把编程看做是做数学题。每个数学题都有自己的 “解题思路”“指定的数学符号”“规则”“答题格式” 等等,所以打一个简单的比方,如果你做一个直角三角形求边长的数学题,你连 “勾股定理” 是什么都不知道,那你肯定是做不出来的。类比到 python,让取一个随机数,连 random 是什么都不知道,那肯定是编不出来的。从你的留言感觉你是一个 0 基础准备学习的人,那我目前给你的建议是,在网上找大量的基础题,从打印三角形开始,弄懂为什么这么写就能打印出三角形,为什么那么写就能拿到想要的值。弄懂基础的运行原理,弄懂每一个 for 循环、if 语句、while 循环等等。然后再考虑下一步吧进阶的东西吧

感谢楼主的耐心回答 受益匪浅 !

楼主真棒,思路清晰知道自己的学习计划,目前也有很多网上报 Python 自动化班,其实都是被老师牵着鼻子走,学完还是一脸懵逼,

大佬,前端毒打的怎么样了,继续更新啊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册