一、Python2与Python3在Pycharm中创建文件的一个小区别

解决一个python2作为解释器无法识别中文编码问题的方法:

        以Python3作为解释器创建文件时,我们并不用在文件前加入编码注释。但是以python2作为解释器创建文件时,我们通常会发现示例中在编写程序前会加入如下两种编码注释:

# encoding:UTF-8
#或者
# -*- coding: UTF-8 -*-

二、一种简便的函数调试方法

        对于C++而言,我们知道程序运行通常需要一个入口(int main(){}),即程序的运行会从main函数开始。对于脚本语言Python来讲,Python拥有没有统一入口,动态的逐行解释的特点。

在作为程序运行的时候,__name__属性值应该为“__main__”,而作为模块/包导入时,__name__属性值应该为该py文件自己的名字),实际上,该方法相当于模拟程序入口。[1]

if __name__ == '__main__':
    函数名(参数)

三、库、包、模块、变量导入的两种方式区别

        语法分析:首先from A import a1 是从A模块导入a1工具(可以是某个函数,全局变量,类),import A是导入整个A模块的全部内容(包括全部的函数,全局变量,类)。[3]

        内存分析:from...import...会在内存中创建并加载该模块工具的副本,当有另外一个程序导入时,会在内存中创建另一个副本进行加载,不会共用一个副本,所以程序进行的修改不会影响到被导入的原模块,且不同程序之间不会互相影响。import...方法导入模块会在内存中直接加载该模块的全部属性。当出现多个程序导入该模块时,会共用一个模块,程序之间会互相影响,包括原模块。[3]

import ***
#或者
from *** import ***