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)
- PoEdu_Python_Lesson07_包、PyCharm的一些补充、判当前文件是否是运行文件的方法
- PyCharm编辑器的运行方法
- C#获取当前运行文件的文件名???
- Android 判断当前的界面是否是桌面的方法
- Android 判断当前的界面是否是桌面的方法
- getRealPath()获得是当前运行文件在服务器上的绝对路径
- 文件的补充
- 文件知识的补充
- Android 判断当前线程是否是主线程的方法
- Android判断当前线程是否是主线程的方法
- Android判断当前线程是否是主线程的方法
- jad文件的错误代码及一些错误解决,不断补充
- 关于webdriver上传文件功能的一些补充
- 对用java语言生成pdf文件的一些补充
- python文件的运行方法
- 带包文件的编译和运行
- 文件处理的一些方法
- 文件路径的一些方法
- ztree + openlayer 控制图层
- HDFS基本特性以及工作机制
- Java 代码中如何获取JVM相关的信息?
- 端口号的作用
- Mac 下 PostgreSQL 的安装与使用
- PoEdu_Python_Lesson07_包、PyCharm的一些补充、判当前文件是否是运行文件的方法
- angular-ui-grid merge cells in column(合并列上的单元格)
- 测试使用-批量往es索引中添加数据,es的使用小结。
- 记在银联电子支付的上线感想
- 【bzoj2084】 [Poi2010]Antisymmetry
- Eclipse Memory Analyzee Java内存分析工具安装教程和使用
- 面向对象三要素:继承、多态、封装(iOS)
- 【bzoj3721】 PA2014 Final Bazarek
- mybatis之入门到开发(一)之基础原理概念+入门小程序