函数
函数:就是一段可以重复使用的代码~ 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 即可!
今天的函数学习就到这里,感谢大家的支持与鼓励,我会继续加油!💪