文章目录
- 一.函数概述
- 1.调用内置函数len
- 2.调用all函数
- 3.调用any函数
- 二.函数得创建和调用
- 1.定义函数
- 2.调用函数
- 2.定义空函数
- 案例
一.函数概述
如果在开发程序时,需要某块代码多次,但是为了提高编写得效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
x | f(x) | y |
输入 | 函数 | 输出 |
参数 | 内部实现过程 | 返回值 |
函数回顾
1.调用内置函数len
string='1234'
result=len(string)
print(result)
结果
4
2.调用all函数
all( ) 类似于逻辑与,全为真时,返回True;当有一个假时,就返回False
all(1) 只能有一个参数
result=all([True,True,False])
print(result)
结果
False
3.调用any函数
any( )类似于逻辑或,输入全为假时,才返回False;当有一个真时,就返回True
any( 1)同样只能有一个参数
result=any([True,False])
print(result)
结果
True
从实现函数得角度来看,需要注意以下3点:
- 函数需要几个关键得需要动态变化得数据,这些数据被定义为函数得参数
- 函数需要传出几个重要得数据(就是调用这个函数得人希望得到的数据),这些数据被定义为返回值
- 函数的内部实现过程
二.函数得创建和调用
1.定义函数
定义函数,也就是创建一个函数,即创建一个具有某些用途的工具
定义函数时指定参数和返回值的类型
指定类型只是为了让使用此函数的人在传入参数时看到应该传入什么类型的数据,如果传入的参数不是指定的类型也不会对函数有什么影响。
函数的帮助文档:三引号会自动出现函数定义说明
格式:def 函数名 (参数1,参数2)
函数执行的内容
return xx
def mymax(num1:int,num2:int)->int:
if num1>num2:
return num1
else:
return num2
def mymax(num1:int,num2:int)->int:
return num1 if num1>num2 else num2
2.调用函数
调用函数,也就是执行函数。如果把创建的函数理解为一个具有某种用途的工具,那么调用函数就相当于使用该工具
格式:函数名(形参值)
举例说明
max_num = mymax(2, 1)
print(max_num)
结果
2
2.定义空函数
定义一个空函数,可以用pass语句;
pass 可以作为占位符,当不知道写什么代码时,可以先用pass占位置,使程序运行起来,什么事都不做,对函数没有任何影响。
def login(user: int, passwd: str) -> bool:
"""
实现用户登录
@param user:用户名
@param passwd: 密码
@return: 是否登录成功
"""
pass
# print(user,passwd)
login('w','redhat')
结果中什么都没有返回
(1)定义函数的时候,函数内部代码不会执行,只有在调用函数的时候,才会执行代码的内容
使用debug进行演示查看运行顺序:
def login(user: int, passwd: str) -> bool:
user=='root' and passwd=='123':
print('login ok')
else:
print('login false')
result=login('root','123')
print(result)
(2)当定义的函数没有返回值时,默认返回None
def login(user: int, passwd: str) -> bool:
if user=='root' and passwd=='123':
return True
else:
return False
result1=login('root','123')
result2=login('re','123')
print(result1,result2)
True False
如果没有返回值,会多出两个None,因为一次输出应该有一个return
def login(user: int, passwd: str) -> bool:
if user=='root' and passwd=='123':
print('login ok')
else:
print('login fail')
result1=login('root','123')
result2=login('re','123')
print(result1,result2)
结果
login ok
login fail
None None
案例
1.华氏温度转换摄氏温度
def f2c(f):
"""
@param f:传入华氏温度
@return: 返回摄氏温度
"""
c=(f-32)/1.8
return f,c
if __name__ == '__main__':
f,c=f2c(30)
print('%.1f华氏温度转化为摄氏温度为%.1f'%(f,c))
结果
30.0华氏温度转化为摄氏温度为-1.1
2.打印图形
def printOneline():
"""打印一行图形"""
print('*'*30)
def printNumline(num:int):
"""打印多行图形"""
for count in range(num):
printOneline()
printNumline(3)
结果
******************************
******************************
******************************
3.数学计算
def sum3number(a,b,c):
"""求3个数的和"""
return a+b+c
def average3number(a,b,c):
"""求3个数的平均数"""
sum=sum3number(a,b,c)
return sum/3
if __name__ == '__main__':
result=average3number(1,2,3)
print('平均值为',result)
结果
平均值为 2.0