美文网首页
pycharm不得不会的技巧

pycharm不得不会的技巧

作者: 阿登20 | 来源:发表于2020-10-01 17:59 被阅读0次

不得不会的快捷键

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
# @Time : 2020/10/1 9:46
# @File  : 调试技巧.py
# @Author: adeng
# @Date  : 2020/10/1
============================
"""
from Tools.demo.eiffel import EiffelMetaClass1

"""  settings搜索keymap 查找对应快捷
shift+F9 调试当前文件,如果之前有debug的文件,是调试之前的那个文件
ALT+SHIFT+F9 选择调试那个文件
-----------------调试窗口--------------------------
ALT+F10  无论你的光标在何处,只要点下该按钮,都会自动跳转到程序运行的地方。
F8 单步执行,遇到函数调用不会进入函数体内
F7 遇到函数调用处,会进入函数体内。有的会进入源码
ALT+SHIFT+F7 遇到函数调用,会进入函数体内,但是不会进入源码
SHIFT+F8  如果在函数体内,可以跳出到函数调用处
ALT+F9  代码指定跳到你光标的位置,可以让代码做飞机般的执行。
CTRL+F8 光标放在某一行,切换断点(有断点则取消断点,没有则加上断点)
ALT+F8 弹出框口计算表达式,方便进一步调试
CTRL+ALT+F8 光标放在if表达式处,可以快速计算出真假。
---------------程序控制窗口------------
CTRL+F5 重新运行DEBUG
F9 运行到下一个断点,如果断点没有直接运行到结束
CTRL+F2 debug停止
CTRL+SHIFT+F8 显示所有DEBUG 设置的断点
-----------类相关------
ctrl+o 重写继承父类的方法
shift+回车 换行
ctrl+shift+u 变量名 大小写切换 
# 继承父类几种查找方式
ctrl+alt+shift+u 选中一个类名,查看类继承关系 ctrl+alt+u 当前页面查看继承关系
ctlr +o ctrl +h  先选中类,再用快捷键
ctrl+alt+h 显示当前方法的调用树,在函数方法定义处使用快捷键切记
ctrl+u 在子类方法中快速进入父类方法,前提是儿子和爸爸都要有同样的方法才行

ctrl+alt+方向左键/右键 view-Appearance-Toolbar打钩,前进/后退 到上次“点击”的地方。点击pycharm工具栏的左 右按钮即可
ctrl+e 打开你曾经打开过的文件。提高项目一个个的去找。
F2或shift F2 跳转到出错的行
alt+ 方向上下键   切换上下一个方法
alt+ 左右方向键   切换打开的标签页
ctrl + [,] 切换到代码块尾部或开头 例如函数可以切换到函数结束处或者函数def开头
ctrl+.  选中代码 折叠,要先选中
ctrl+p  放在函数括号中ctrl+p,查看函数参数
ctrl+shift+回车  自动补全if末尾的: 函数的括号等等操作
alt+7 查看类 方法以列表形式展开,接着就可以选择类方法直接查看
ctrl+q 查看函数 传参简要说明
ctrl+shift+i 查看源码
ctrl + alt +T 选中代码,tyr..except 捕获异常
ctrl+shift+12 屏幕最大化

"""
a = 1
b = 2

def a():
    print(1)

def b():
    print(2)
    a()

a() #
b()
myname = "向佳" # myname有波浪线
print("fasfasfjkla;sjfl;aj无法安放沙发啊")

class A(object):

    def __init__(self):
        print("A")

    def a(self):
        print(1)

    def b(self):
        print(2)
        a()


class B(A):

    def __init__(self):
        print("B")

    def a(self):
        print(11)

    def b(self):
        print(22)
        a()


NAME=1


def method_name1():
    global NAME
    NAME = 1


method_name1()


if 5== 1:
    pass
    # TODO: 18点下班
member = '{"name":"xiaoming", "gender": "male", "age": 18}'


i =0
while i<10:
    pass   
    i +=1


代码封装,一步到位

当一个主函数的代码行数越来越多时,代码的可读性会变得越来越差。通常的做法,是按照功能将代码进行封装成多个函数。

这个过程无非是

  1. 在合适的位置定义一个新的函数
  2. 将原有的代码拷贝至该函数中
  3. 并将原的代码替换成该函数的调用

倘若你的重构的工作量不是很大,完全可以手工来完成这些事。

但当你是在重构一个项目代码时,你可能需要一个更高效的封装技巧。

在 PyCharm 中,提供了多种形式的代码重构快捷方法,大家比较常见的可能是重构变量名:shift+F6,而今天要给大家介绍的是方法的重构,也即代码快速封装的技巧。

假如,我现在有如下一段代码,红框标出的代码放在主函数中,有些不太合适,况且这段代码不能让人一眼就看出它是在做什么事情。如何将其进行封装,对我们理清整个主程序的逻辑会有帮助。

image1

选中你要封装的代码,然后按住 Ctrl+Alt+M 后,会跳出如下界面,根据自己的需要,修改函数名,选择参数和返回值

image2

一切就绪点击 OK,PyCharm 会自动在合适的位置为你定义一个函数名,并将你选中的代码放到里面,其中参数名和返回值也都是按照你的要求,效果如下:

image3

Live Template快速输入自定义代码片段

在 PyCharm 中有一个功能叫 Live Template,它可以用来自定义一些常用的代码片段。

比如下面这段,几乎是写 Python 脚本必备的

if __name__ == '__main__':

当你在PyCharm 中编码 python 代码时,只要输入 main ,PyCharm 就会在 Live Template 里找到定义过的代码片段,然后只要直接键入回车,就可以生成这段代码。

再比如说,我通常会定义简单的装饰器代码

image1

这样当我要定义一个最简单的装饰器时,只要输入 deco 再直接敲入回车就行啦。

image2

解决变量名波浪线的问题

settings---搜索typo--- EFFects勾取消

image.png

相关文章

网友评论

      本文标题:pycharm不得不会的技巧

      本文链接:https://www.haomeiwen.com/subject/pftvuktx.html