PEP8 expected 2 blank lines, found 1

  定义方法时,出现期望是2个空白行,但是实际检测到是1个。方法与上面内容间隔期望为两个换行符

PEP8 This dictionary creation could be rewritten as a dictionary literal

       定义使用字典时,希望用重写的形式来定义内容,不希望建立的时候直接赋值。

        maps.dict()

        maps.update({"userName": "zhangsan", "age": 35})

PEP 8: block comment should start with '# '

     添加注释,提示以上错误,即#注释符与内容之间应间隔一个空格符

PEP 8: too many blank lines

    过多的空白行

TypeError: 'module' object is not callable

  oop是个package,fruits是个py文件,Fruits是里面的一个Class类。

       问题是在fruits()下,直接报以上错误。原因是python引入的是文件。

       对于包下的引用得到的只是一个文件,因为一个py的文件中可能存在多个类。因此需要细化到类才可以。

from oop import fruits   # 获取的是文件名 fruits.Fruits 获取对象
from oop.fruits import Fruits # 获取的是Fruits类对象
import oop.fruits as fs  # 获取的是文件名 取别名为fs  fs.Fruits 获取对象

 应用

import oop.fruits as fs

def main():
    fa = fs.Fruits("我是水果", "产地由子类确定")
    fa2 = fs.Fruits("我是水果2", "产地由子类确定")

VSCode:module 引入不到

 因python默认加载自身py文件和当前文件夹及以内的文件,同时包括zishen pythonpath的lib文件。因此,当我们在一个项目下去运行某些文件时,会出现引用module找不到。

比如以下结构:

|-myproject
|---test
|------test_login.py
|---login
|------login.py

当test_login.py 去引入login.py模块,进行测试,执行就会报出module找不到。因为test_login.py下并不存在login.py.

因此需要将工程的环境指向到 myproject。使用vscode的debugRun ,创建launch文件,在内部设定 env

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Current File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "console": "integratedTerminal",
            "env": {"PYTHONPATH":"${workspaceFolder}${pathSeparator}${env:PYTHONPATH}"}
        }
    ]
}

test_login.py的模块引入变为从当前工程下去目录结构引入模式,比如: login.login。

 

 

 

 

   

 

posted on 2018-03-16 14:23  zhaoqiang1980  阅读(960)  评论(0编辑  收藏  举报