python_notes(库的学习笔记)

"""
了解异常,即BUG
"""
# 程序计算出现的错误,☞软件出现了错误运行

# -----------------------------------------------
"""
异常的捕获
"""

# 项目运行,过程中,提前做好建设,进行异常捕获
# 基本语法:
# try:
#     # 可能发生的错误
# except:
#     # 如果出现异常执行的代码

try:
    f = open("D:/1.txt","r",encoding="UTF-8")
except:
    print("出现异常了,因为文件不存在,我将open的模式,改为w模式去打开")
    f = open("D:/1.txt","w",encoding="UTF-8")
# 捕获指定异常
# try:
# except NameError as e:
#     print("出现了变量未定义的异常")

# 捕获多个异常
# try:
# except (NameError,ZeroDivisionError) as e:     # 元组形式显示多个异常
#     print("出现了变量未定义的异常")

# 未正确设置捕获异常类型,将无法捕获异常
# 捕获所有异常
try:
    f = open("D:/1.txt","r",encoding="UTF-8")
except Exception as e:     # 元组形式显示多个异常
    print("出现了变量未定义的异常")
else:
    print("很高兴,没有异常")
finally:
    f.close()
"""
异常的传递性
"""

def func1():
    print("func1 开始执行")
    num = 1 / 0   # 肯定有异常,除以0的异常
    print("func1 结束执行")

# 定义一个无异常的方法,调用上面的方法

def func2():
    print("func2 开始执行")
    func1()
    print("func2 结束执行")

# 定义一个方法,调用上面的方法


def main():
    try:
        func2()
    except Exception as e:
        print(f"出现异常了,异常的信息是:{e}")

main()

"""
模块的导入
"""

# 使用import导入time模块使用sleep功能(函数)

import time   # 导入python内置的time模块(time.py这个代码文件)
print("你好!")
time.sleep(5)  # 通过:就可以使用模块内部的全部功能(类,函数,变量)
print("我好")

# 使用from导入time的sleep功能(函数)
from time import sleep
print("你好!")
sleep(5)
print("我好")

# 使用 * 导入time模块的全部功能

from time import *
print("你好!")
sleep(5)
print("我好")

# 使用as给特定功能加上别名


import time as t
print("你好!")
t.sleep(5)
print("我好")

from time import sleep as sl
print("你好!")
sl(5)
print("我好")
"""
演示python包
"""


# 创建一个包
# 导入自定义的包中的模块,并使用
# import my_package.mymodule1
# import my_package.mymodule2
#
# my_package.mymodule1.info_print1()
# my_package.mymodule2.info_print1()



# from my_module1 import mymodule1
# from my_module2 import mymodule2
# mymodule1.info_print1()
# mymodule1.info_print2()


# from my_module1 import info_print1
# from my_module2 import info_print2
# info_print1()
# info_print2()



#通过__all__变量,控制import *     # 这里的all变量时用来限制包的功能使用
                                 # 非常重要的一点时这个python要新建一个all.py

# From my_package import *
# my_module1 import info_print1
# my_module1 import info_print2
"""
演示异常,模块,包的综合案例练习
"""

# 创建my_utils 包,在包内创建:str_util.py和file_util 2个模块, 并供应相应函数

import my_utils.str_util
from my_utils import  file_util_py

print(my_utils.str_util.str_reverse("黑马程序员"))
print(my_utils.str_util.substr("itheima",0,4))


file_util_py.append_to_info("D:/test_appeend.txt","ithema")
file_util_py.print_file_info("D:/test_appeend.txt")
"""
演示自定义模块
"""


# 导入自定义模块使用
import my_module1
# from my_module1 import  test
# test(1,2)

# 导入不同功能的同名功能
from my_module1 import  test
from my_module2 import  test
test(1,2)


# __main__变量
# from my_modual import *
test(1,2)
# test1(1,2)

__all__ = ["test"]  # 外部函数用*函数使用全部函数时,内部的all功能会限制某一指定函数的功能实现

def test(a,b):
    print(a + b)


def test1(a,b):
    print(a - b)

# if __name__ ==  '__main__':
    # 内置变量在这里做测试,通过这个功能测试函数,保证外部引用函数不会用这个功能
    # test(1,2)
def test(a,b):
    print(a - b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值