【Python 函数】-参数-返回值
第 2 章 函数----参数
# def my_sum():
# a = 10
# b = 20
# print(a + b)
# # 函数一旦定义完成,就不会再次修改函数内部代码
# my_sum()
def my_sum(a,b):
print(a + b)
my_sum(10,20) # 把10赋值个my_sum的a参数,把20赋值给my_sum的b参数
复制代码
2.1、需求
1.开发一个 my_ sqm 的函数;)2.函数能够实现两个数字的求和功能;
def my_sum():
a = 10
b = 20
print(a + b)
# 函数一旦定义完成,就不会再次修改函数内部代码
my_sum()
复制代码
2.2、存在什么问题
函数只能处理固定数值的相加,如果能够把需要计算的数字,在调用函数时,传递到函数内部就好了!
2.3、函数参数的使用
在函数名的后面小括号内部填写参数;
多个参数直接使用 , 分隔。
带参数的求和函数
2.4、参数的作用
函数:把具有独立功能的代码块组织为-一个小模块,在需要的时候调用;函数的参数:增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据;1.在函数内部,把参数当做变量使用,进行需要的数据处理 2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递
2.5、形参和实参
形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用;实参:调用函数时,小括号中的参数 , 是用来把数据传递到函数内部用的。。
def my_sum1(a,b): # a,b 形参
c = a + b
print(c)
my_sum1(5,3) # 5,3 实参
复制代码
def my_sum(a,b):
print(a+b)
num1 = 2
num2 = 3
my_sum(10,20) # 把10赋值个my_sum的a参数,把20赋值给my_sum的b参数
my_sum(num1,num2) # b变量num1的值为2,所以形参a的值为2,形参的b的值为3
my_sum(7+2,5*3) # 形参a的值为9,形参b的值为15 ,7+2 表达式
复制代码
●形参 。定义函数的时候括号里面的参数 。形参必须是变量;●实参 。调用函数的时候,括号里面的参数 。实参可以是常量 。实参可以是变量 。实参可以是表达式●定义函数的时候形参有值吗? 。定义函数的时候,形参没有值,只是一个变量名 。只要调用函数的时候通过实参把值实时赋值给形参
2.6、练习
定义一个函数,名字叫my_ _func2, 有一个参数num1;
调用my_ func2时,num1 为1,输出个*号,num1为5,输出5个*号;
举例:调用函数my_ func2(3)应该输出如下结果:
***
复制代码
def my_func2(num1): #定义函数的时候,形参没有值
print("*" * num1)
my_func2(1)
my_func2(5)
复制代码
执行结果
"D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/函数/05定义函数.py
*
*****
Process finished with exit code 0
复制代码
第 3 章 函数----返回值
在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理。
3.1、return 关键字
●return 的意义。需求不停的变化,但函数一 旦定义函数内部的代码不应该因为需求改变而改变。所以要把因为需求而改变的代码放到函数之外,函数之内代码函数定义完不改变
●有时候,函数并不是要显示什么内容,而是要把一个值返回给调用者, 比如 python 自带的 len 函数就是这样的●函数内容通过 return 返回给调用者一个值●return 后面可以是常量,也可以是表达式
# # 对于没有返回值的函数,调用方法,直接函数名(参数)
# print("hello python")
# 对于没有返回值的函数,调用方法。直接函数名(参数)
# len函数是有返回值的函数
a = len("hello python") # 会把一个值返回个调用者
print(a)
print(len("hello python"))
复制代码
在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理。
# 有返回值的函数
def my_sum(a,b):
return a + b # 把a + b 的结果,返回给调用者
num1 = my_sum(2,3) # 调用my_sum函数,所以num得到了函数的返回值
print(num1)
print(my_sum(5,6))
复制代码
执行结果
"D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/函数/06函数的返回值.py
5
11
Process finished with exit code 0
复制代码
返回两个参数中的最大值
# 返回两个参数中的最大值
def my_max(num1,num2):
if num1 > num2:
return num1
else:
return num2
a = my_max(50,6) # 调用函数,实参是5和6,形参num1的值是5,形参num2的值是6
print(a)
复制代码
3.2、函数参数和返回值练习
1.定义一个函数,有两个参数,start 和 stop, start 代表开始范围,stop 代表终止范围,求这个范围中所有整数相加的和
# 有返回值的函数
'''
计算一个区间范围内的和
'''
def my_func1(start,stop): # start 形参
sum = 0
a = start
while a<= stop:
sum += a
a += 1
return sum
num1 = my_func1(4,10)
print(num1)
复制代码
2.定义一个函数能够根据半径计算圆的面积
def cir(r):
pai = 3.14
return pai * r**2
print(cir(10))
print(cir(15))
a = cir(20) + cir(30) # 计算两圆的和
print(a)
复制代码
3.定义一个函数,名字叫 my_ squar, 功能为计算矩形的面积,
有两个参数 height 与 width,分别代表矩形的高和宽;函数返回值为矩形的面积;如调用 my_ squar(3, 4),函数返回值为 12。
def my_squar(height,width):
return height * width
a = my_squar(3,4) # 定义一个变量a,得到调用my_squar函数的返回值
print(a)
#或者
print(my_squar(3,4))
复制代码
4.定义一个函数,名字叫 my_ func,有两个参数 num1 与 num2,当 num1 能被 num2 整除时,返回值为 True,否则返回值为 False。如:调用 my_ func(8, 4),函数返回值为 True。如:调用 my _func(9, 4),函数返回值为 False。
def my_func(num1,num2):
if num1%num2==0:
return True
else:
return False
print(my_func(8,4))
print(my_func(9,4))
复制代码
3.3、为什么函数要用户 return
程序设计有个原则,需求是不停的变化的,可以修改函数外部的代码,但函数定义后,不应该修改内部的代码
# 需求1
# 计算两个整数的和,当和等于10的时候显示10,当和大于10的时候显示太大了,当和小于10的时候显示太小了
# 需求2
# 计算两个整数的和,当和等于100的时候显示100,当和大于100的时候显示太大了,当和小于100的时候显示太小了
# def my_sum(a,b):
# c = a + b
# if c == 10:
# print(c)
# elif c > 10:
# print("太大了")
# else:
# print("太小了")
#
# my_sum(4,6)
# my_sum(12,3)
# my_sum(2,5)
# 程序设计有个原则,需求是不停的变化的,可以修改函数外部的代码,但函数定义后,不应该修改内部的代码
def my_sum(a,b):
return a + b
a = my_sum(4,5)
if a == 10:
print(a)
elif a > 10:
print("太大了")
else:
print("太小了")
复制代码
评论