Autopep8的使用

简介: 什么是Autopep8 在python开发中, 大家都知道,python编码规范是PEP8,但是在市级开发中有的公司严格要求PEP8规范开发, 有的公司不会在乎那些,在我的理解中,程序员如果想走的更高,或者更远,干任何事情必须得专业化(本人理解方式), 不要求很多东西都是精通,但最少得有一门精通的语言,小弟在此在大佬面前装逼了, 忘看过的大牛不要揭穿, 留下你懂的我不懂的知识,大家一起学习,一起进步。

什么是Autopep8

在python开发中, 大家都知道,python编码规范是PEP8,但是在市级开发中有的公司严格要求PEP8规范开发, 有的公司不会在乎那些,在我的理解中,程序员如果想走的更高,或者更远,干任何事情必须得专业化(本人理解方式), 不要求很多东西都是精通,但最少得有一门精通的语言,小弟在此在大佬面前装逼了, 忘看过的大牛不要揭穿, 留下你懂的我不懂的知识,大家一起学习,一起进步。    谢谢。

 

Autopep8是一个将python代码自动编排的一个工具,它使用pep8工具来决定代码中的那部分需要被排版,Autopep8可以修复大部分pep8工具中报告的排版问题。很多人都知道  Ctrl+Alt+L 也可以排版, 但是我要告诉你,快捷键只是可以简单的排版。跟Autopep8是无法相比的。 

 

安装Autopep8:

pip install autopep8

安装完成之后,import导入一下,测试是否安装成功。

Aytopep8的使用

安装完成之后,打开pycharm,创建一个新的python文件,  demo.py 将一下代码放入文件中。

def example1():
    some_tuple = (1, 2, 3, 'a')
    some_variable = {
        'long': 'Long code lines should be wrapped within 79 characters.',
        'other': [math.pi, 100, 200, 300, 9876543210,'This is a long string that goes on'],
        'more': { 'inner': 'This whole logical line should be wrapped.',some_tuple: [ 1,20, 300, 40000,500000000,60000000000000000]}}
    return (some_tuple, some_variable)

def example2(): return ('' in {'f': 2}) in {'has_key() is deprecated': True};

class Example3(object):
    def __init__(self, bar):
        # Comments should have a space after the hash.
        if bar:
            bar += 1
            bar = bar * bar
        else:
            some_string = """
                       Indentation in multiline strings should not be touched.Only actual code should be reindented.
"""

这几行代码看上去是不是很乱,   接下来就要使用:Autopep8模块了

打开cmd找到demo.py的文件的上级目录,

然后输入以下命令:

autopep8 --in-place --aggressive --aggressive file.py

file.py   是你的demo.py

输入命令,按回车执行成功是不返回的, 执行完成之后就可以了,在次打开文件就可以看到变化了。

import math
import sys


def example1():
    some_tuple = (1, 2, 3, 'a')
    some_variable = {
        'long': 'Long code lines should be wrapped within 79 characters.',
        'other': [
            math.pi,
            100,
            200,
            300,
            9876543210,
            'This is a long string that goes on'],
        'more': {
            'inner': 'This whole logical line should be wrapped.',
            some_tuple: [
                1,
                20,
                300,
                40000,
                500000000,
                60000000000000000]}}
    return (some_tuple, some_variable)


def example2(): return ('' in {'f': 2}) in {'has_key() is deprecated': True};


class Example3(object):
    def __init__(self, bar):
        # Comments should have a space after the hash.
        if bar:
            bar += 1
            bar = bar * bar
        else:
            some_string = """
                       Indentation in multiline strings should not be touched.Only actual code should be reindented.
"""

执行完Autopep8之后代码是不是看上去简洁多了。

有人会说,没写一个函数就执行一遍命令, 是不是有点麻烦啊, 是的, 有有点麻烦, 但是pycharm是可以配置的, 配置过程如下:

1: File --->  Settings  --->  Tools  --->   External Tools

打开之后,可以看见窗体左上角有一个 + 号, 点击+号添加。

Name: 名称可以随意

Program: autopep8        # 前提必须先安装
Arguments: --in-place --aggressive --aggressive $FilePath$
Working directory: $ProjectFileDir$

Advanced Options
                ---- Outputfilters:
$FILE_PATH$\:$LINE$\:$COLUMN$\:.*

以上配置完成之后点击  OK 保存即可。

快捷使用:

Tools    --->    External Tools  --->   Autopep8       鼠标点击一下即可。

 

相关文章
|
6月前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
143 1
|
JSON API 数据格式
5分钟构建API接口服务 | python小知识
Flask是python中轻量的web框架,Flask的两个核心模块除了模板渲染之外就是请求响应处理,其中请求响应处理是由 Werkzeug(WSGI 工具库)完成,而模板渲染是由Jinja(模板渲染库)完成。 Flask因为轻量灵活,用来构建API接口十分合适
10153 10
5分钟构建API接口服务 | python小知识
|
安全 数据安全/隐私保护
配置samba的访问密码和用户名
出于安全问题,需要为samba配置密码: $ smbpasswd -a 按提示输入想使用的密码即可 另外 /etc/samba/smb.conf 的 [global] 段必须有: security = user 如此这般,局域网的人访问你的电脑都需要以上命令设置的用户名和密码。
10556 2
|
Ubuntu 编译器 芯片
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
|
2月前
|
数据可视化 图形学 UED
只需四步,轻松开发三维模型Web应用
为了让用户更方便地应用三维模型,阿里云DataV提供了一套完整的三维模型Web模型开发方案,包括三维模型托管、应用开发、交互开发、应用分发等完整功能。只需69.3元/年,就能体验三维模型Web应用开发功能!
300 8
只需四步,轻松开发三维模型Web应用
|
3月前
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用
|
6月前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
113 1
|
6月前
|
设计模式 算法 搜索推荐
从策略模式看软件设计的智慧-灵活应对变化的艺术
策略模式是一种行为设计模式,它定义了算法族,分别封装起来,让它们之间可以互相替换,使得算法的变化独立于使用算法的客户。本文深入探讨了策略模式的组成、应用场景、实现方式及其优缺点。通过实际案例,展示了策略模式在灵活处理算法和业务规则变化中的强大作用。文章还提供了最佳实践和使用注意事项,帮助开发者更有效地运用策略模式,同时比较了与其他设计模式的异同。掌握策略模式,将为您的软件设计带来更高的灵活性和可维护性。
270 0
从策略模式看软件设计的智慧-灵活应对变化的艺术
|
6月前
|
Shell Linux C语言
【Shell 命令集合 系统管理 内置命令】⭐⭐Linux 退出当前的Shell会话 exit命令 使用指南
【Shell 命令集合 系统管理 内置命令】⭐⭐Linux 退出当前的Shell会话 exit命令 使用指南
129 0
|
6月前
|
存储 监控 NoSQL
解密推荐系统:用Redis解决特征存储问题
解密推荐系统:用Redis解决特征存储问题
224 0