PoEdu_Python_Lesson07_包、PyCharm的一些补充、判当前文件是否是运行文件的方法

来源:互联网 发布:java方法中布尔型变量 编辑:程序博客网 时间:2024/06/05 05:06

写在前面:本文章基于Python3

PyCharm

可以创建目录

Python Packge

像文件夹,但是有区别,会自动为你创建一个__init__.py文件

如果包里没有__init__.py,那么导入的方法也就无效了,如果碰到了明明导入了,但是却没法使用的问题,那么可以试着看看你的引入的包是文件夹还是包

python3里面可以不用一定有__init__.py,虽然支持这样做,但是还是创建一个包比较好,不要从一个文件夹导入,因为文件夹存储的是资源文件(比如账号信息什么的),包才是存储代码的

有点像namespace,是为了解决命名冲突的问题

引入包含文件的格式:from xx(包的名字.文件名) import xx(函数名) ,这就可以清晰的知道包的名字的作用了,指定了特定包的特定方法,这样就可以解决命名冲突啦

External Libraries

新建工程都会自动存在的东西,是Python里面的东西(比如源文件),很多很多的库

底部有5个窗口

Python Console

TermInal

Run

遇到错误会报错

Debug

不会报错,遇到错误只会停止下来

Wing IDE

运行比较快,用C写的

并非跨平台,只在Windows下运行

第三方库

pypi.python.org

很多很多的第三方库

pillow 做界面

with open(..) as file:

with open(‘userinfo.txt’) as file : …(代码)

打开文件,出了代码块之后自动关闭文件

Python里的每个.py文件都可以执行

当调用其它py文件里的方法时,那么该文件里的该方法之上的东西会不会执行呢?因为我们只调用了一个方法,并没有调用上面的东西啊…

答案是会的~,而且会在当前运行程序前,将导入的文件中的代码执行一次,执行完以后才回到当前运行的程序中运行

每个.py文件都可以提供方法导出,同时也可以独立运行起来,但是,这样也会有问题,单独能够运行起来的那段代码,我们在调用它时,可能是不希望它执行的,解决方法看下面..

Python里没有明确的Main,但是,当某个py被运行起来时,print(name)会打印main

所以,上面的问题就可以通过判断是否是main来决定是否要运行独立的那段代码,示例:

...(此处省略代码)def ...:    ...  (代码省略)if __name__ == '__main__':    input("输入您的账号:")

如果此时为主程序,那么input会执行,如果不是,那么就不会执行

包的存在导致文件读取失败

如果先写了一个包,这个包里有登录程序,包里有登录信息的文件,如果在包里调用登录方法,没问题,如果在包外面进行调用,那么就会出问题了,因为那个信息文件并不在当前运行程序的相同目录下

此时,就需要把登录程序多加一个参数:用户信息文件的文件名

函数参数

一个*号 列表

def foo(*args)

调用 foo(*mylist)

两个*号 字典

def foo(**args)

可以这样使用 foo(key,value)。但是,如果你传入的是dict,不能直接传,需要这样:foo(**mydict)

阅读全文
0 0
原创粉丝点击