[拉勾]Python编程语言总结与答疑

  • 要求: 看完本章节所有课程内容,并完成作业,优先回答和作业相关的问题
  • 有什么问题在评论区回复

本章演示代码

Sign in · GitLab

学习Python思路

基础路线

参考资料

  • 官方文档

https://docs.python.org/zh-cn/3/tutorial/index.html

进阶学习

  • Python cookbook(难度较大,有基础后阅读)

Python Cookbook 3rd Edition Documentation — python3-cookbook 3.0.0 文档

常见问题汇总

  1. 直接上传代码,不要传压缩包
  2. 不要再venv中写代码

书写问题

  • 缩进问题
  • 环境配置问题(包管理)
    • 不要上传venv在自己的仓库里面,可以在.gitignore中添加忽略
    • 如果需要环境管理,使用下面的命令
#生成环境配置文件
 pip3 freeze > requirements.txt
 # 安装环境依赖
pip install -r requirements.txt

如何Debug定位问题

Debug 的方式

作业

题目

  1. 创建两个类,分别叫做Timo 和Jinx。 每个类都包含有hp、power 这两个类变量
  2. 分别在两个类都创建一个 fight 方法,fight 方法的参数为 题目要求的参数

作业思路解析

@startuml
Class HeroFactory{
    Class create_hero()
}

class Hero{
    #int hp
    #int power

    ~ fight()

}
class Jinx{
    #int hp
    #int power

    ~ fight()
    ~String speak_lines()

}
class EZ{
    #int hp
    #int power

    ~ fight()
    ~String speak_lines()

}
HeroFactory--> EZ: 实例化
HeroFactory--> Jinx: 实例化
Hero<|-- EZ : 继承
Hero<|-- Jinx: 继承
@enduml


本期优秀作业

  • 牛润鹏
  • 点评:yaml 配置化、 类的基本特性、设计模式全都涵盖了。把前面学到的所有的python知识点融会贯通。所有刚开始学习的同学可以像这位同学的作业看齐

往期优秀作业

liuzhihua: 霍格沃兹测试学院作业提交 - Gitee.com

  • 虽然只是拓展了简单的for 循环,但是还是值得鼓励,而且代码写的很整洁

https://gitee.com/zengchukai/test-study/blob/master/two_week_homework/hero.py

  • 点评: 虽然语法知识都是课程内的,但是尝试将录播学到的知识内容融入作业中。是非常好的学习习惯

https://gitee.com/lushutao2/myhomework/tree/master/python%20homework

  • 点评: 敢于拓展,想法很多,基础扎实,对于python语法知识比较熟悉
  • 建议:注释可以多写一些,给其他同学多多参考一下

https://gitee.com/sailyang00/ceshiren/tree/master/class2/moudle1/pythonProject

  • 点评:对 python 的语法基础还是很不错的,而且编程很有想法,没有为了完成作业而完成作业,加了很多自己了解的python语法知识进去,还使用了配置文件管理数据
  • 建议: 文件管理有点乱和项目无关的文件比如 venv 可以放在.gitignore中,__call__在这个场景下可以使用类装饰器实现, __new__的参数建议设定成不定长参数,因为构造函数一旦多传参数进去,就会报错

课后调查表

https://jinshuju.net/f/qVvIYO

image
为啥我实例化类 调用类的方法传参后 打印的结果还是空的啊 老师

注意缩进 4、5 行放在类的外面