初识函数
函数的作用
组织好的,可以重复使用的,用来实现单一功能的代码
定义和调用函数
def math(x):
y = x ** 2 + x
return y
a = math(10)
print(a)
输出结果是110
函数的进阶使用
参数类型
print(*objects, sep = ' ', end = '\n', file = sys.stdout, flush = False)
print('金枪鱼', '三文鱼', '鲷鱼')
print('金枪鱼', '三文鱼', '鲷鱼', sep = '+')
# sep控制多个值之间的分隔符,默认是空格
print('金枪鱼', '三文鱼', '鲷鱼', sep = '+', end = '=?')
# end控制打印结果的结尾,默认是换行)
返回多个值
import random
#引入random模块
appetizer = ['话梅花生','拍黄瓜','凉拌三丝']
def coupon(money):
if money < 5:
a = random.choice(appetizer)
return a
elif 5 <= money < 10:
b = random.choice (appetizer)
return b, '溏心蛋'
print(coupon(3))
print(coupon(6))
函数的嵌套
变量作用域
rent = 3000
variable_cost=0
def cost():
utilities = int(input('请输入本月的水电费用'))
food_cost = int(input('请输入本月的食材费用'))
variable_cost = utilities + food_cost
print('本月的变动成本是' + str(variable_cost))
def sum_cost():
sum = rent + variable_cost
print('本月的总成本是' + str(sum))
cost()
sum_cost()
第一点:一个在函数内部赋值的变量仅能在该函数内部使用(局部作用域),它们被称作【局部变量】,如cost()函数里的variable_cost。
第二点:在所有函数之外赋值的变量,可以在程序的任何位置使用(全局作用域),它们被称作【全局变量】,如第一行的rent。
函数的嵌套
函数嵌套示例
rent = 3000
def cost():
utilities = int(input('请输入本月的水电费用'))
food_cost = int(input('请输入本月的食材费用'))
variable_cost = utilities + food_cost
print('本月的变动成本是' + str(variable_cost))
return variable_cost
def sum_cost():
sum = rent + cost()
print('本月的总成本是' + str(sum))
sum_cost()
def bonus(month):
if month < 6:
money = 500
return money
elif 6 <= month <= 12:
money = 120 * month
return money
else:
money = 180 * month
return money
def info(name, month):
gain = bonus(month)
print('%s来了%s个月,获得奖金%s元' % (name, month, gain))
info('大聪',14)