使用带参数的自定义函数简化代码!
简介

函数 是编码中的重要概念!将代码中单独的重复部分用函数表示,能使代码变得更加简洁。
函数通常需要 参数 。参数让函数具有更多灵活性,且不妨碍函数优化和简化代码的作用。参数在函数 调用 时被放到圆括号 () 之间。
被调用时的实际参数,在函数定义时同形式参数对应。
# 这个函数拥有一个参数:'target':
def checkAndAttack(target):
# 'target'是预定义的变量。
if(target):
hero.attack(target)
enemy = hero.findNearestEnemy()
# 下面,'enemy'是参数,传递给checkAndAttack作为'target'。
checkAndAttack(enemy)
默认代码
# 使用 checkAndAttack 函数让代码易读。
# 这个函数有一个参数。
# 参数是一种给函数传递信息的方式。
def checkAndAttack(target):
# 参数'target'只是一个变量!
# 它包含了函数调用时的参数。
if target:
hero.attack(target)
hero.moveXY(43, 34)
while True:
hero.moveXY(58, 52)
topEnemy = hero.findNearestEnemy()
# 使用 checkAndAttack 函数,并使用 topEnemy 变量。
checkAndAttack(topEnemy)
# 移动到底部的X标记处。
# 创建名为 bottomEnemy 的变量,寻找最近敌人。
# 使用 checkAndAttack 函数,并使用 bottomEnemy 变量。
概览
函数 是代码的重要组成部分,能够将代码分割成独立的部分,帮助我们更好地理解代码。
函数 不仅能够执行独立动作,还能使用传入的参数。
实参 是函数调用时 () 内包含的信息。
形参 则是传入函数的信息在函数内所使用的变量。
# 函数名后面的'target'是'形参'。
# 形参作为新变量,装载从函数外传入的信息。
def checkAndAttack(target):
# 'target'是形参预定义变量,只在函数内使用。
if target:# 检验'target'是否存在。
hero.attack(target) # 若是如此,那就攻击!
enemy = hero.findNearestEnemy()
# 下面的变量enemy是实参。
# 调用函数时使用实参,能够让函数基于输入内容做出不同动作。
# 这里,我们会攻击任意传入函数作为参数的敌人。
hero.checkAndAttack(enemy)
边地之叉 解法
# 使用 checkAndAttack 函数让代码易读。
# 这个函数有一个参数。
# 参数是一种给函数传递信息的方式。
def checkAndAttack(target):
# 参数'target'只是一个变量!
# 它包含了函数调用时的参数。
if target:
hero.attack(target)
hero.moveXY(43, 34)
while True:
hero.moveXY(58, 52)
topEnemy = hero.findNearestEnemy()
# 使用 checkAndAttack 函数,并使用 topEnemy 变量。
checkAndAttack(topEnemy)
# 移动到底部的X标记处。
hero.moveXY(58, 16)
# 创建名为 bottomEnemy 的变量,寻找最近敌人。
bottomEnemy = hero.findNearestEnemy()
# 使用 checkAndAttack 函数,并使用 bottomEnemy 变量。
checkAndAttack(bottomEnemy)