副程序,也称为函数、函式:将程序包装成一个区块,需要时再呼叫出来使用,让我们来揭露副程序的奥秘吧~
先建构副程序,才能使用副程序
python只需要使用def关键字即可宣告副程序,用法如下:
#定义函数
def 函数名称():
函数内部程序...
是不是非常简单呢?
现在建构完了,我们要来使用它
#呼叫函数
函数名称()
我们实际操作一次看看
# 定义副程序
def say_hi():
print("Hi")
# 使用副程序
say_hi()
# 印出 "Hi"
令一个基本操作,带参数呼叫,使用方法如下
#定义函数
def 函数名称(参数名称1, 参数名称2,.....):
函数内部程序
#呼叫函数
函数名称(参数1, 参数2,.....)
程序码如下
# 定义副程序
def say(word):
print(word + "! friend")
# 使用副程序
say("Hi")
# 印出 "Hi! friend"
** return 传出 回传值,并强制结束函数**
#定义函数
def 函数名称(参数名称1, 参数名称2,.....):
函数内部程序
return 回传值
#呼叫函数
变数 = 函数名称(参数1, 参数2,.....)
下面是输入一个数字的参数,副程序会回传该数字的阶乘(3!、5!、等...)副程序
# 定义副程序
def factorial(num):
ans = num
num -= 1
while num > 0 :
ans *= num
num -= 1
return ans
# 使用副程序
a = say(6)
print(a)
# 印出 720
我们在定义副程序的时候,可以先给参数预设值,这样当我呼叫复生是的时候,要是没有下参数,副程序就会自己使用内建的参数预设值,用法如下
# 定义副程序
def dog(name = "小黑"):
print(name)
# 使用副程序
dog() #印出 小黑
dog("小白") #印出 小白
我们在定义副程序时可以宣告多个参数,呼叫时也必须依照参数的先後顺序赋值,范例如下
# 定义副程序
def dinner(time, food):
print("在" + time + ",吃" + food)
# 使用副程序
dinner("八点", "达美乐")
#印出 "在八点,吃达美乐"
如果没有按照顺序下参数,可能会出现以下不合逻辑的错误
# 定义副程序
def dinner(time, food):
print("在" + time + ",吃" + food)
# 使用副程序
dinner("达美乐", "八点")
#印出 "在达美乐,吃八点"
我们可以看到上面的两个参数下的顺序反了,所以出现了我们预期以外的错误,如果非要不按照顺序下参数,这时候要使用下面的技巧
在呼叫副程序时,指定参数的内容,操作如下
# 定义副程序
def dinner(time, food):
print("在" + time + ",吃" + food)
# 使用副程序
dinner(food = "达美乐", time = "八点")
#印出 "在达美乐,吃八点"
C跟Java都有个主程序,而python是不需要主程序就能执行的,但主程序能帮助我们标记程序的进入点,进而达成模组化开发,没有主程序的结果就是各行指令都是分散的,可能第一行是执行一条指令,接着第2、3...都是在定义副程序,而下一行要执行的指令却在10多行,这样会造成程序难以阅读,因此这里要来介绍主程序
if __name__ == "__main__":
print("hello world")
if __name__ == "__main__":
这个区块的内容就是主程序,也就是程序的进入点,下面是范例
def say(word):
return "Hey!" + word + "!"
if __name__ == "__main__":
print(say("hello world"))
# 印出 "Hey!hello world!"
<<: 【从零开始的Swift开发心路历程-Day7】简易调色盘Part3(完)
更新 我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有...
各位读者抱歉,今天是很水的一回,因为今天加班,很晚才到家,单纯分享一个之前看到的问题。之前因为时间直...
前言 就如第一天提到的,资料库可以说是一家公司的命脉,如果资料库不小心被外部攻击者入侵导致资料遗失、...
永丰金流收款 API 在目前我们从文件看到的,支援信用卡付款及虚拟帐号 ATM 付款。信用卡付款方式...
传值(Call by value) 在 JavaScript 中,只有原始型别为传值(Call by...