目录
函数
1.函数的定义(分配任务)
2.函数的调用(开始完成任务)
3.函数的返回值-return
编辑
函数
函数:就是一段可以重复使用的代码~ ctrl+c,ctrl+v.
我们以求和为例:
# 1.求1-100的和
theSum = 0
for i in range(1,101):
theSum += i
print(theSum)
# 2.求 300-400的和
theSum=0
for i in range(300,401):
theSum += i
print(theSum)
# 3.求 1-1000 的和
theSum = 0
for i in range(1,1000):
theSum += i
print(theSum)
通过这几个求和代码我们可以看出:
除了求和范围不同,其他的都是一样的步骤进行运算,使得代码较为冗长,如果利用函数我们只需要调用并更改数据范围即可,可减少多余代码
,避免出错.
# 定义一个求和函数
def calcSum(beg,end):
theSum = 0
for i in range (beg,end+1):
theSum += i
print(theSum)
# 调用函数
# 求 1-100 的和
calcSum(1,100)
# 求 300-400 的和
calcSum(300,400)
# 求 1-1000 的和
calcSum(1,1000)
1.函数的定义(分配任务)
2.函数的调用(开始完成任务)
# 先定义一个函数
# 如果只是定义,而不去调用,则函数体里面的代码就不会执行!
def test():
print("hello")
print("hello")
print("hello")
#函数调用才会真正执行函数体里面的代码.
#函数经过一次定义之后,可以被调用多次!
test()
test()
test()
test()
❗注意:python中函数调用,要先定义后调用~ ~
"先定义,后调用"就像是奥特曼一样先喊魔法口号,再释放魔法~
函数的调用是可以有多次的,同时每次调用的实参,也是可以不同的~ ~
函数的实参,就是在函数调用的时候,赋值给形参~
python中函数的形参和实参个数要匹配,对类型没有要求,程序才能运行~
也不是说.随便传入啥类型都行,
只要保证传入的参数类型,在函数体里面能够支持对应的运算操作,即可!!
def test(a):
print(a)
test(10)
test(True)
test("hello")
def add(x,y):
return x + y
print(add(1,2))
print(add(1.5,2.5))
print(add("hello"," world"))
Python中: 警告:提示你代码可能存在问题,但是并不影响程序编译执行. 错误:代码实打实的有问题!
3.函数的返回值-return
在实际开发中,一般更倾向于第二种写法! 一个通用的编程原则:一个函数只做一件事! 第1个版本:既做了计算,又做了打印(和用户交互) 第2个版本:只做了计算,不关心如何和用户交互~ 一旦后续需要改变和用户的交互方式,第二种写法就更有优势(不必修改代码了)当前是通过控制台和用户交互的~ ~ 让 逻辑 和 交互/界面 分离---->进一步的好处,解耦合(关联性的强弱)~ 一个稍微复杂一些的程序中,经常会涉及到很多模块~ 模块之间可能要进行交互~ ~ 交互就会带来耦合,当然希望通过良好的设计让耦合尽量低~ ~
# 一般多个 return 语句是搭配 分支语句 / 循环语句 的
def isOdd(num):
"""
用来判断 num 是不是奇数! 如果是奇数就返回 True, 不是就返回 False
:param num: 要判定的整数
:return: 返回 True False 表示是不是奇数
"""
if num % 2 == 0:
return False
else:
return True
print(isOdd(10))
print(isOdd(17))
def isOdd(num):
"""
用来判断 num 是不是奇数! 如果是奇数就返回 True, 不是就返回 False
:param num: 要判定的整数
:return: 返回 True False 表示是不是奇数
"""
if num % 2 == 0:
return False
return True
print(isOdd(10))
print(isOdd(17))
python 中的一个函数可以返回多个值!!
(非常香的操作!!,C++,Java 都馋哭了)
C++,Java 调用一个函数一次只能返回一个值!!
--->Java 要想返回多个值,需要把多个值给包装成一个对象,返回这个对象~ ~
--->C++ 要想返回多个值,可以通过输出型参数(指针/引用)
虽然现在返回多个值,但是我只想要其中一部分,不关注其他的,~~
可以使用_来进行占位!
不要 x 了,只要 y,把 y 赋值给 b 即可!
今天的函数学习就到这里,感谢大家的支持与鼓励,我会继续加油!💪