#Python 3.函数
# def 语句和参数 注意分号
def hello(name):
print("Hello " + name)
for i in range(3):
hello('Kyle')
# 返回值 和 return 语句
import random
def getMax(num1, num2):
if num1 > num2:
return num1
else:
return num2
nValue1 = random.randint(1, 10)
nValue2 = random.randint(1, 10)
print(str(nValue1) + ' ' + str(nValue2))
num = getMax(nValue1, nValue2)
print('Max = ' + str(num))
# None 值
# None是空值,是NoneType数据类型的唯一值
# 首字母大写
# 对于没有返回值的函数,Python都会加上 return None
# 关键字参数 end 和 sep
# end 表示不换行 末尾继续添加
print('hello ', end = '')
print('World')
#相当于 加“,”
print('I am', '25', 'years old')
#sep 替换关键字 替换掉默认的分隔字符串
print('I am', '25', 'years old', sep = ',')
# 局部 和 全局作用域
# 对应 局部变量 和 全局变量
# 局部变量仅在自己的作用域内生效
# 尽量在变量命名的时候不要重名,容易混淆
# global语句
# 如果需要在一个函数内修改全局变量,需要使用global语句
def show():
global name
name = 'Kyle'
name = 'Cherry'
show();
print(name)
# 区分 局部变量 和全局变量
# 1.如果变量在全局作用域中使用,它总是全局变量
# 2.如果在一个函数中,有针对该变量的golbal语句,它就是全局变量
# 3.否则,如果该变量用于函数中的赋值语句,它就是局部变量
# 4.但是,如果该变量没有用在赋值语句中,它就是全局变量
# 总之,尽量不要变量名重名。
# 异常处理
# try...except 语句
def fun(divideBy):
try:
return 25 / divideBy
except ZeroDivisionError:
print('Error: Invalid argument.')
print(fun(1))
print(fun(0))
print(fun(5))
结果:
25.0
Error: Invalid argument.
None
5.0