函数
def sum(num1,num2):
"两数之和" # 函数说明
return num1+num2
# 调用函数
print(sum(5,6))
def sum(num1,num2):
# 两数之和
if not (isinstance (num1,(int ,float)) and isinstance (num2,(int ,float))):
raise TypeError('参数类型错误') # 这样可以做类型检查
return num1+num2
print(sum('a',2))
def division ( num1, num2 ):
# 求商与余数
a = num1 % num2
b = (num1-a) / num2
return b , a
num1 , num2 = division(9,4) # 可以有多个返回值,实际上是一个元组
tuple1 = division(9,4)
print (num1,num2)
print (tuple1)
def print_user_info(name, age, sex = '男'):# 可以有缺省参数,但是只有在形参表末尾的那些参数可以有默认参数值
# 打印用户信息
print('昵称:{}'.format(name), end = ' ')
print('年龄:{}'.format(age), end = ' ')
print('性别:{}'.format(sex))
return;
# 调用 print_user_info 函数
print_user_info('lzy', 18, '女')
print_user_info('zsh', 25)
def print_info(a, b = []):# 默认参数的值是不可变的对象,如果对其改变会带来麻烦
print(b)
return b ;
result = print_info(1)
result.append('error')
print_info(2)
_no_value =object()
def print_info(a, b = _no_value):# 判断默认参数有没有值传递进来
if b is _no_value :
print('b 没有赋值')
return
print_info(1)
def print_user_info(name, age, sex = '男'):
# 打印用户信息
print('昵称:{}'.format(name), end = ' ')
print('年龄:{}'.format(age), end = ' ')
print('性别:{}'.format(sex))
return
print_user_info(name = 'lzy', age = 18, sex = '女')# 利用形参的名字设置位置参数
print_user_info(name = 'lzy', sex = '女', age = 18)
def print_user_info(name, age, sex = '男', **hobby):# *hobby是可变参数,hobby其实就是一个tuple,**hobby是关键字参数,hobby就是一个dict
# 打印用户信息
print('昵称:{}'.format(name), end = ' ')
print('年龄:{}'.format(age), end = ' ')
print('性别:{}'.format(sex), end = ' ')
print('爱好":{}'.format(hobby))
return
print_user_info(name = 'lzy', age = 18, sex = '女', hobby = ('打篮球','打羽毛球','跑步'))