Python模块 & Python包

1. 模块的导入


模块就是一个Python文件,里面有类、函数、变量,我们可以直接拿过来用(导入模块去使用)!

 

 

2. 自定义模块并导入


导入不同模块的同名功能时,后导入的会把先导入的给覆盖掉!

注意:当前执行文件必须要和模块文件在同一个目录下模块才能被导入!

两个重要的变量:__main____all__(控制 "from 模块 import *" *的内容)  __all__ = ['1', '函数1', '函数2', ...],写在模块文件开头

if __name__ == "__main__": 后面是用于测试模块功能的!

 

 

3. 自定义Python


__init__.py是一个特殊的文件,存在这个文件说明这是一个Python,不存在说明这只是一个普通的文件夹!

调用层级import后面的为准!如下图!

如果是上面一种方式,使用时必须使用包名.模块名.函数()

如果是下面一种方式,使用时可以直接使用模块名.函数()

此外,也可以在__init__.py文件中添加__all__变量,控制*,即控制导入哪些模块!

 

 

4. 安装第三方包


安装太慢怎么办?

Pycharm中也可以安装包!

 

 

5. 综合练习


def reverse_str(s):
    return s[::-1]

def substr(s, x, y):
    return s[x:y+1]


if __name__ == '__main__':
    my_str = 'ABCDEFG'
    print(reverse_str(my_str))
    print(substr(my_str, 1, 5))
def print_file_info(file_name):
f = None
try:
f = open(file_name, 'r', encoding='UTF-8')
print(f.read())
except Exception as e:
print(f"程序出错了, 出错信息: {e}")
else:
print("太好了, 程序没有出错!")
finally:
if f:
f.close()


def append_to_file(file_name, data):
f = open(file_name, 'a', encoding='UTF-8')
f.write(data)
f.close()


if __name__ == '__main__':
path = 'C:/Users/12192/Desktop/bill.txt'
append_to_file(path, 'END')
print_file_info(path)
from my_utils import file_util as fu
from my_utils import str_util as su

my_str = "Hi!您好!"
print(su.substr(my_str, 3, 5))
print(su.reverse_str(my_str))

path = "C:/Users/12192/Desktop/bill.txt"
fu.append_to_file(path, 'END')
fu.print_file_info(path)

 

posted @ 2023-07-29 18:49  Peg_Wu  阅读(4)  评论(0编辑  收藏  举报