模块

Python程序架构

Python源代码文件:*.py

一个py文件是一个模块(module) 多个模块可以组成一个包(package)

第三方工具包:

创建packet包



创建的每一个packet包中会自带一个_init_.py模块,而且这个模块在import这个包时,会自动加载出现



模块导入方式

packet1下的module1代码:

i = 1

def func():
print("func1") # 这里在导入模块时会自动导入
# 不想被自动导入的话,可以将代码放入main方法中
if __name__ == '__main__':
print("module会自动导入")
func()

实现代码:

from packet1 import module1
# 取别名,防止出现模块重名
from packet1 import module1 as m1
# 直接导入模块中的方法和变量
from packet1.module1 import i, func
# 直接导入
import packet1.module1 as mm1 print(module1.i)
module1.func()

异常处理

六种典型异常

1.除零错误(ZeroDivisionError):除数为0

2.名称错误(NameError):变量使用前未进行申明或者初始化

3.类型错误(TypeError):某些函数或者方法只适用于特定的数据类型,如果 对数据类型的操作不当,就会产生类型错误

4.数值错误(ValueError):在输入类型正确的情况下,具体输入值错误

5.索引错误(IndexError):超出序列长度的索引操作

6.属性错误(AttributeError):方法或者属性不适用该对象

异常处理

try:
print(10 / 0)
print("上面异常发生,这不会执行")
except ZeroDivisionError as e:
print(e)
print("发生除零异常")
except NameError as e:
print(e)
print("NameError异常")
else:
print("没有异常")
finally:
print("不管发生什么都会执行") division by zero
发生除零异常
不管发生什么都会执行

自定义异常

# 自定义异常
class AlienError(Exception):
def __init__(self):
super(AlienError, self).__init__("error") age = int(input("请输入年龄"))
try:
if age < 0:
raise AlienError
else:
print("age is %d" % age)
except AlienError as e:
print(e) 请输入年龄-1
error

Python语法3的更多相关文章

  1. 对 Python 语法不够了解导致的 bug

    对 Python 语法不够了解导致的 bug. `in` '20' in '11264,6144,4096,3072,2048,1024,300,30' Out[7]: True a_list = ' ...

  2. python 笔记2:python语法基础

    python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...

  3. python语法快速入门(1)

    http://www.runoob.com/python/python-tutorial.html Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于PHP和Perl语言 ...

  4. python语法笔记(四)

    1.对象的属性     python一切皆对象,每个对象都可能有多个属性.python的属性有一套统一的管理方案. 属性的__dict__系统     对象的属性可能来自于其类定义,叫做类属性:还可能 ...

  5. python语法-[with来自动释放对象]

    python语法-[with来自动释放对象] http://www.cnblogs.com/itech/archive/2011/01/13/1934779.html 一 with python中的w ...

  6. wxpython 支持python语法高亮的自定义文本框控件的代码

    在研发闲暇时间,把开发过程中比较重要的一些代码做个珍藏,下面的代码内容是关于wxpython 支持python语法高亮的自定义文本框控件的代码,应该是对大家也有用. import keywordimp ...

  7. Python语法的转义字符

    Python语法的转义字符 转义字符 说 明 \ 续行符 \n 换行符 \0 空  \t 水平制表符,用于横向跳到下一制表位 \'' 双引号 \' 单引号 \\ 一个反斜杠 \f 换页 \0dd 八进 ...

  8. Python语法教程总结规范

    Python语法易错点记录 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  9. 初试Python语法小试牛刀之冒泡排序

    Python很火,心里很慌,没吃过猪肉,也要见见猪走路. 看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557 ...

  10. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

随机推荐

  1. Nacos服务注册与发现的2种实现方法!

    Spring Cloud Alibaba 技术体系中的 Nacos,提供了两个重要的功能:注册中心(服务注册与发现)功能和配置中心功能. 其中注册中心解决了微服务调用中,服务提供者和服务调用者的解耦, ...

  2. new操作符具体干了什么呢?

    考察对new关键的深刻认识,是否对前端知识有专研,如果没有专研的人,肯定说创建了一个对象,恭喜你面试官知道你是小菜鸟来的,这次面试基本上没有太大的希望了.一定要对new过程的4个步骤非常清楚,这样才能 ...

  3. JAVA多线程学习九-原子性操作类的应用

    当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2.因为A和B线程在更新变量i ...

  4. keystore文件

    [-] keystore操作 运行时签名文件路径debug 生成签名文件打包时使用 获取MD5和SH1 修改keystore文件密码 修改keystore文件别名 修改keystore文件别名的密码 ...

  5. laravel操作Redis排序/删除/列表/随机/Hash/集合等方法全解

    Song • 3563 次浏览 • 0 个回复 • 2017年10月简介 Redis模块负责与Redis数据库交互,并提供Redis的相关API支持: Redis模块提供redis与redis.con ...

  6. Centos下安装配置WordPress与nginx教程

    感谢大佬:https://www.howtoing.com/how-to-install-wordpress-with-nginx-on-centos-6-2 WordPress是一个免费和开源网站和 ...

  7. 定制博客CSS样式

    首先你需要添加页面CSS代码

  8. serverless入门介绍

    1.什么是serverless Serverless 架构作为一种新型的云计算范式,是云原生时代一种革命性的架构,颠覆了传统意义上对软件应用部署和运营的认识.本节对 Serverless 架构的基本概 ...

  9. 【CF712E】Memory and Casinos(数学 期望 DP)

    题目链接 大意 给出一个序列,当你在某个点时,有一个向右走的概率\(P_i\)(向左为\(1-P_i\)), 给出\(M\)个操作,操作有两类: 1 X Y Z:把\(P_X\)的值修改为\(\fra ...

  10. 分享学习linux网站

    1.实验楼 https://www.shiyanlou.com/     免费给你配置一台远端的linux电脑, 你可以根据步骤操作 2.鸟哥的Linux 私房菜 http://linux.vbird ...