当前位置: 首页 > news >正文

Python语法学习-3

第七章 异常处理

7.1 什么是异常

在这里插入图片描述

7.2 python中常见的异常类型

在这里插入图片描述

# NameError
print('hello world')
#prlnt('hello world')  # 函数名拼写错误
a = '111'
print(a)
# print(aa)  # 变量名拼写错误
# print(b)   # 使用一个不存在的变量# SyntaxError  IndentationError
# if 'he' == 'hi':
# print('hello')
# TypeError
# print(3+'2')
# AttributeError
tp = (1,3,5)
# tp[2]=4
# print(tp)
# tp.append(2)
# print(tp)
# KeyError
d = {1:2,3:4}
# print(d[2])
# IndexError
print(tp[4])

7.3 try-except语句

在这里插入图片描述

# TypeError: unsupported operand type(s) for +: 'int' and 'str'
# print(1+'1')
try:print("有可能出现异常的代码")print(1+'1')
except:print("如果出现了异常,进入改代码块执行")
# ZeroDivisionError: division by zero
# n = 5/0
try:n = int(input("请输入一个数字:"))n = 5/nprint(n)
except ZeroDivisionError as e:print("除数不能为0")print("原始报错信息", e)
except:print('请输入一个数字')
else:print('运行没有被except语句捕获,执行else模块')
finally:print('无论如何,都要执行finally模块')

7.4 raise关键字

在这里插入图片描述

try:pwd = input("请输入你的密码:")if len(pwd)<8:raise Exception("密码的长度不够,请输入一个8位以上的密码")
except Exception as e:print(e)

7.5 本章总结

在这里插入图片描述

7.6 案例实践

简单的计算器

while True:try:op = input('请输入一个四则运算算式(例如1+2):')if '+' in op:a = op.split('+')result = int(a[0])+int(a[1])print(result)elif '-' in op:a = op.split('-')result = int(a[0])-int(a[1])print(result)elif '*' in op:a = op.split('*')result = int(a[0]) * int(a[1])print(result)elif '/' in op:a = op.split('/')result = int(a[0]) / int(a[1])print(result)elif op == 'C':print('感谢您使用本计算器!')breakelse:raise Exception('请按1+2这个格式输入算式!')except  ZeroDivisionError:print('注意除法运算,除数不能为0!')except Exception as e:print(e)

第八章 函数

8.1 函数的概念

# 形式参数
def sum_2(a,b):return  a+b# 实际参数
result = sum_2(9,8)
# a = len('get')
# print(a)
# print(result)

8.2 默认参数

# n为默认参数,缺省参数
def power(x,n=2):return  x**n
a = power(4,3)
b = power(5,3)
c = power(6)
a = int('16',8)
print(a)
# 练习
def infos(name,age=24,gender='女'):return '大家好,我叫%s,我今年%d岁,我是一名%s生' %(name,age,gender)
s = infos('mia',24,'女')
lily = infos('lily')
jack = infos('jack',gender='男')
print(jack)
print(lily)

8.3 可变参数

# 可变参数
def total(*args):print(args)result = 0for i in args:result+=i*ireturn result
result = total(1,4,5,6,7,8,3)
print(result)
result=total(3,4,5)
print(result)
a = [1,2,3,4]
result = total(*a)
print(result)
# 可变参数,接受字典
def f(**kwargs):for k,v in kwargs.items():print(k,v)
d =  {'name':'xiaoming','age':18}
f(**d)

8.4 变量的作用域

# 全局变量
num1 = 10  # 不可变数据类型
list1 = [1, 2, 3, 4, 5] # 可变数据类型def f():global num1  # 声明在f中使用的num1是全局变量num1num2 = 20 # 局部变量num1 = 20list1[2] = 8print('在函数f中打印num1的值', num1)print('在函数f中打印list1的值', list1)print('num2的值', num2)f()
print('在函数f外打印num1的值', num1)
print('在函数f外打印list1的值', list1)

8.5 匿名函数

# def add(a,b):
#     return a+b
#
# fun = lambda a,b:a+b
# result = fun(5,2)
# print(result)a = [1, 2, 3, 4, 5]
result = map(lambda x:x**2,a)  # 映射
print(list(result))# reduce 累积
from functools import reduce
result = reduce(lambda x,y:x+y,a)
print(result)# filter 过滤
result = filter(lambda x:x%2==0, a)
print(list(result))# 举例
a = [1,2,3,40,5,6,0,6,0,5]
result = filter(lambda x:x!=0, a)
print(list(result))# 将a转换成整数:12340560605
# 写法1
result = 0
mul = 1
for i in a[::-1]:result = result + i*mulmul = mul*10**len(str(i))
print(result)# 写法2
result = reduce(lambda x,y:x*10**len(str(y))+y,a)
print(result)

8.6 内置函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/400154.html

相关文章:

  • 电子系统设计网站微商货源网下载
  • 免费网站源码大全下载简单网站建设哪家便宜
  • 单北斗变形监测系统在大坝安全监测中的应用前景与技术优势
  • 做微博类的网站难吗天猫商城app
  • 怎样使用photoshop制作1寸证件照片
  • 临清做网站dz网站后台
  • 连云港网站建设电话自己设计图片的软件
  • 【算法】多榜单排序->综合排序问题
  • 网站维护中手机能做网站吗
  • 上海市建设工程信息报送网站如何实现网站的伪静态
  • 52Hz——FreeRTOS学习笔记——进/出临界区
  • 丹阳网站建设案例合肥设计公司排名
  • 导购网站怎么做的企业网站模板趋势
  • LLVM JIT编译技术:从基础原理到现代架构实践
  • 上海专业的网站公docker可以做网站吗
  • asp网站如何搭建亚马逊德国做deals 网站
  • 高端网站策划公司网站建设服务费的税率
  • SpringBoot从0-1集成Graalvm
  • 代理商加盟网站网站建设阿里云搭建个人网站
  • 网站建设哪家学校好网络营销有哪些岗位
  • 网站建设为什么学flash开个免费的网站多少钱
  • 上海网站开发建设找哪家网页升级跳转自动刷新
  • 大良网站建设网推渠道
  • 盐城网站开发如何什么 的提升自己的网站
  • 网站建设进度表 下载课程网站开发背景和意义
  • 合肥哪家做网站好都江堰seo
  • ArrayList重点APi
  • 度假村网站建设wordpress 登陆失败
  • 购物网站建设新闻无锡谁做网站好
  • 胶南网站建设价格网站申请内容吗