Python3基础二

本文介绍了Python3中的模块和包的概念,包括模块作为已封装的py文件,包是逻辑上的一系列模块集合,导入时遵循的路径规则。接着,文章讨论了模块的分类,如标准库、开源模块和自定义模块。此外,还详细讲解了异常处理机制,包括try-except-else-finally结构以及如何主动抛出异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块和包

  • 模块本质上就是已经写好的py文件,封装好,后续好重复利用
  • 导入包或者模块的路径是先本目录,然后sys.path中的路径,这是一个列表,本质上是增加它
    方法一:import	模块名
    方法二:from 模块名 import *或者函数名或者参数	#不建议用*
    方法一本质上是把模块运行了一遍保存在内存中,用模块名指向这片内存
    方法二本质上是把模块里面某个变量或者函数运行一遍,然后本文件可以直接调用
    
  • 包是逻辑上存放一系列模块的文件夹,导入包的本质就是去执行包下的init.py文件
    在其他地方导入包时,实际上是去执行包里的__init__.py文件
    所以如果包里有多个模块名,__init__.py里应该有from . import 模块名
    
    建议还是
    方法一:import 包名.模块名,使用的话:包名.模块名.……
    方法二:from 包名 import 模块名,使用的话:模块名.……
    

模块分类

  1. 标准库(常用自带模块),时间time,os,sys,hashlib,re正则,random随机,序列化。

    	import datatime	#时间模块
    	x = datetime.datetime.now()
    	print(x)	#输出2019-03-26 17:16:46.919626
    
    	import random	#随机模块
    	print(random.randint(0,9))	#随机整数0-9
    	print(random.randomrang(0,9))	#随机整数0-8
    
    	#验证码实例
    	import random
    	verification_code = ""
    	for i in  range(4):
    	    guess_num = random.randint(0,3)
    	    if guess_num >1:
    	        tmp_num = random.randint(0,9)
    	    else:
    	        tmp_num = chr(random.randint(65,90))
    	    verification_code += str(tmp_num)
    	
    	print(verification_code)
    
    	import sys
    	sys.argv	#这样才系统上执行脚本时可以带上参数,sys.argv[1]是第一个参数
    
    	import configparser	#配置文件模块
    	conf = configparser.ConfigParser()
    	conf["default"] = {"money":"45",
                   			"gold":"100"}
    
    	with open("example.conf","w") as f:
    			conf.write(f)	# 就这里与文件读写有区别,是con对象写入f
    	
    	hashlib模块
    	import hashlib
    

可以参考老男孩星儿老师的博客写的很详细

  1. 开源模块
  2. 自定义模块

异常

try:
    # 尝试执行的代码
    pass
except 错误类型1:
    # 针对错误类型1,对应的代码处理
    pass
except 错误类型2:
    # 针对错误类型2,对应的代码处理
    pass
except Exception as result:
    # 打印错误信息
    print(result)
else:
    # 没有异常才会执行的代码
    pass
finally:
    # 无论是否有异常,都会执行的代码
    print("无论是否有异常,都会执行的代码")
  • try 尝试,下方编写要尝试代码,不确定是否能够正常执行的代码
  • except 如果不是,下方编写尝试失败的代码
  • 捕获所有未知错误的except Exception as result:print("未知错误 %s" % result)
  • else 只有在没有异常时才会执行的代码
  • finally 无论是否有异常,都会执行的代码
  • 整个执行顺序先try,然后只要没有错误就执行else底下代码,最后执行finally底下代码,错误的话是先try,后异常捕获,最后finally
  • 主动抛出异常raise,提示用户 输入密码,如果长度少于8,抛出异常
def input_password():

    # 1. 提示用户输入密码
    pwd = input("请输入密码:")

    # 2. 判断密码长度,如果长度 >= 8,返回用户输入的密码
    if len(pwd) >= 8:
        return pwd

    # 3. 密码长度不够,需要抛出异常
    # 1> 创建异常对象 - 使用异常的错误信息字符串作为参数
    ex = Exception("密码长度不够")

    # 2> 抛出异常对象
    raise ex


try:
    user_pwd = input_password()
    print(user_pwd)
except Exception as result:
    print("发现错误:%s" % result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值