内部函数,全局变量与局部变量,异常处理
函数
函数返回值:
1、一个函数,不管是否有return,它都是有返回值的,如果没有return,它的返回值是None
2、如果有return,函数的返回值是return后面的内容,切记:return后面的代码是不能够执行的
函数返回值的价值是:把函数与函数能够建立一层关联关系
'''
def zhihuLogin(username='wuya',password='admin'):
if username=='wuya' and password=='admin':
return 'duan986'
else:
return '账号或者密码不对'
def profile(sessionid):
if sessionid=='duan9864':
print('欢迎查看知乎主页')
else:
print('请登录')
profile(sessionid=zhihuLogin())
局部变量与全局变量
'''
全局变量:在一个python文件中定义的变量
局部变量:在一个函数中定义的变量
优先级:
1、在python文件中,调用变量,全局变量优先级是高于局部变量的
2、在函数内部调用变量,局部变量的优先级是高于全局变量的
3/如果在函数内部想引用全局变量,那么使用关键字global
'''
name='段舒元'
def func():
name='duanshuyuan'
print(name)
print(name)
func()
name='段舒元'
def func():
global name
print(name)
func()

异常处理
异常的父类是BaseException
try:
except:
else:
finally:
异常顺序:
1、正常逻辑: try--->else--->finally
2、异常逻辑:try--->except--->finally
def div(a,b):
try:
print(a/b)
except Exception as e: #捕获异常
print('程序错误,请联系程序员')
print(e.args[0])
except ZeroDivisionError as e:
print('分母不能为0')
else:
print('我是try执行完执行我')
finally:
print('不管是否正确,我都执行')
div(1,0)

while True:
try:
score=int(input('请输入学生成绩:\n'))
if score<60:
print('差劲')
elif score>=60 and score<80:
print('成绩良好')
elif score>=80 and score<90:
print('成绩优秀')
elif score>=90 and score<=100:
print('非常优秀')
elif score==100:
print('满分')
elif score==150:continue
else:
break
except Exception as e:continue

模块
'''
1、在python中,每一个python文件都是一个模块(module)
2、包(package):
在 一个包里面有很多的模块
3、包与文件夹的区别:
包里面有_init_.py文件
文件夹没有
一个模块调用另外一个文件的变量以及函数
from package.module import*(*代表所有)
'''
from 包.模块 import *
print(name)
func()



python package 创建包
directory 创建文件夹



浙公网安备 33010602011771号