通过流程图,我们可以清晰的了解到方法是由下面几个部分组成的:
- 方法需要输入的参数
- 方法需要执行的动作
- 方法要返回的结果
如果还是用打电话来做比方:
- 方法需要输入的参数:就是你要呼叫那个人的电话号码。
- 方法需要执行的动作:就是电话调用通讯接口发起与对方通讯的请求。
- 方法要返回的结果:接通或者没接通。
下图是我们使用Python代码写的打电话的方法:
# 定义一个打电话的方法
# Python 中方法的 定义
# python 方法定义的语法
# def 方法的名称(方法的参数)
# 方法的内容
#
#
def call_phone(phone_num):
"""
定义一个打电话的方法
param phone_num: 输入电话号码
return: 返回打电话的情况
"""
# 方法的处理过程
num_size = len(phone_num)
# 这里还可以写更多东西
# 方法的返回结果
if num_size < 11:
return "电话号码有误,打不通"
else:
return "电话号码无误,正在接通中...."
Python提供了很清晰的语法结构,来帮助我们定义方法。当然一个完整的方法是可以不需要输入参数或者返回结果的,比如下面的代码:
def call_phone_120():
"""
拨打 120 紧急电话的号码
return:
"""
print("电话正在接通中")
或者有输入参数,没有返回结果,有返回结果没有输入参数等。
定义好后,要如何用?我编写代码10多年了,见过各种各样的方法调用(方法使用),甚至有些我自己怕是永远都想不到(在使用JavaScript编程的时候,当时下巴都快掉了)。
在Python里面,方法的使用就相对简单一点,下面就是五种常用的“方法”的使用。
直接使用def call_phone_120():
"""
拨打 120 紧急电话的号码
return:
"""
print("电话正在接通中")
# 直接使用 call_phone_120 这个方法
call_phone_120()
嵌套使用
def call_three_times(frist_num, second_num, three_num):
"""
一次薄打三个电话
:param frist_num: 第一个电话的电话号码
:param second_num: 第二个电话的电话号码
:param three_num: 第三个电话的电话号码
:return: 返回打电话后的情况
"""
# 连续拨打电话
# 嵌套使用 call_phone 这个方法
call_phone(frist_num)
call_phone(second_num)
call_phone(three_num)
return "三个电话拨打结束"
# 调用这个一次大三个电话的行数
call_three_times('13xxxxxxxxx','13xxxxxxxxxx','13xxxxxxxxx')
使用外部文件的方法
# 从外部导入一个方法
from test.class8.call_phone_1 import call_phone_120
# 导入发声库
import pyttsx3
# 然后执行这个方法
call_phone_120()
# 调用插件的方法,来准备‘发声’工具
engine=pyttsx3.init()
# 调用插件的方法,来发声
engine.say("您好!")
engine.say("这里是急救中心")
engine.say("有什么需要帮助的吗?")
#说话
engine.runAndWait()
使用第三方插件,里的方法
# 把虚拟人类的类导入进来
from model.people.People import People
# 创建一个虚拟的自己,然后说话
my = People()
my.speak("我是程序猿羽毛球")
使用类里的方法
这里我们拿上一节课的例子为例,从虚拟人类的类里来定义一个方法:
# 导入动物基础类,个性类,位置类
from model.biology.Animal import Animal
from model.people.Character import Character
from model.people.Location import Location
# 导入发声库
import pyttsx3
class People(Animal):
"""
人类的模型构建
"""
# id 唯一表示,就像我们身份证一样
id = 0
# 人的名字
name = ''
# 出生年月
birth = None
# 出生位置
location = Location()
# 等级 level,等级越高,越厉害
level = 0
# 经验教训,影响等级,通过击败对手获得
exp = 0
# 血量,血量为 0 这个人就消失
health = 0
# 最小伤害,对别人产生的最小伤害
min_damage = 1
# 最大伤害,对别人产生的最大伤害
max_damage = 10
# 我抵抗伤害的值
defense = 100
# 我闪避伤害的几率
agility = 100
# 我的朋友列表
friend_list = []
# 我的对象
marriage = None
# 性格
character = Character()
# 年龄
age = 0
# 生命周期,这只到 0 这个人就结束生命了
lifetime = 100
# 一个给虚拟世界打招呼的方法
def speak(self, info):
"""
这个人会说话的方法
:param info: 说话的内容
:return:
"""
# 让电脑把 info 说出来
# 初始化发生库
engine = pyttsx3.init()
# 设置要说的话
engine.say(info)
# 说话
engine.runAndWait()
# 把说话的内容打印出来
print(info)
# 返回说话的内容
return info
注意,这个方法是定义在类里的,还记得上一节课说道类的结构吗?
下面我们使用一下这个方法。
# 把虚拟人类的类导入进来from model.people.People import People
# 创建一个虚拟的自己,然后说话
my = People()
my.speak("我是程序猿羽毛球")
我记得当我掌握了上面的这些知识后,无论是学习还是在工作中敲代码,真的轻松了很多。甚至我会很享受程序设计的过程,设计好的程序思路,编码也自然很舒服。编程的工作也从枯燥烦恼,变得有意思多了。
这样的编程方法,你觉得怎样?
知识点的总结如果你看到这里,你已经掌握了这些知识
- 会用拆大象的方法来拆解问题
- 会用画流程图的工具来设计代码
- 知道了编程语言中一个重要的概念,方法
- 知道了如何灵活的定义一个方法
- 知道了如何灵活的应用这些方法
用Python给你证明,上帝是否在投色子?