Python之基础函数
Python基础之函数
目录
1:函数
一:什么是函数
函数就是对某一个功能的代码,进行打包。类似于一修车师傅有工具箱一样,需要用什么工具直接拿来用就行。
二:为什么要有函数
当需要重复的用一些功能的时候,就可以直接调用,不用再复制粘贴
三:函数的分类
三.一:内置函数
print,id,map,filter...都是内置函数,你只需要怎么用就行。。。
三.二:自定义函数
就是你需要用什么功能,都是需要自己造
四:使用函数的优点
1,代码逻辑清晰,可读性好
2,不用写重复的代码
3,后面扩展容易,管理方便
2:函数的定义
一:如何定义函数
#语法
def 函数名(参数1,参数2,参数3,...):
'''注释'''
函数体
return 返回的值
#函数名要能反映其意义
def login():
name = input('请输入你的用户名:')
pwd = input("请输入的密码:")
if name == 'alex' and pwd = 'alexdsb':
print('登录成功')
else:
print("登录失败!")
#上述代码定义函数
二:函数的使用(先定义,后调用)
# 函数与变量的定义也差多,变量名如果不定义,调用变量就睡报错,函数名其实可以理解为变量名,不定义调用就报错
def login():
name = input('请输入你的用户名:')
pwd = input("请输入的密码:")
if name == 'alex' and pwd = 'alexdsb':
print('登录成功')
else:
print("登录失败!")
login() # 这就是调用函数
测试一
def f1():
print('from f1')
f2()
f1()
测试二
def f2():
print('from f2')
f1()
def f1():
print('from f1')
f2()
测试三
def f1():
print('from f1')
f2()
i
def f2():
print("from f2")
f1()
结果
测试一报错
测试二和测试三正常
结论:函数的使用,必须先要定义,后调用。
使用函数时,一定要明确区分定义阶段和调用阶段
三:函数定义解释器做了什么?
#只检测语法,不执行代码
也就说,语法错误在函数定义阶段就会检测出来,而代码的逻辑错误只有在执行时才会知道
四:函数定义的三种形式
一:无参
应用场景仅仅只是执行一些操作,比如与用户交互,打印
def foo():
print('foo')
二:有参
需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
def max_(arg1, arg2):
'''
参数必须是int类型
'''
if arg1 > arg2:
print(arg1)
else:
print(arg2)
三:空函数
设计代码结构
def login():
pass
def registry():
pass
........
3:调用函数
一:调用函数
函数的调用:函数名加括号
1 先找到名字
2 根据名字调用代码
def foo():
print("foo")
foo() # 这就是调用函数
二:函数返回值
一般没有定义返回值,函数默认的返回值为None
返回值要用关键字return
return 可以返回单个值,或者多个值(多个值是以元组的形式放回)
# 默认
def foo():
print('foo')
# 一个值
def foo():
print('foo')
return 'foo'
# 多个值
def foo():
print('foo')
return 0, 1, 2, 'foo'
三:函数调用的三种形式
一:语句形式
foo()
二:表达式形式
res = 3*len('helloword')
print(res)
三:函数作为另外一个函数的参数
res = max(max(1,30),3)
print(res)
4:函数的参数
一:形参与实参
形参即变量名,实参即变量值,函数调用时,将值绑定到变量名上,函数调用结束,解除绑定
def max_(arg1, arg2): # arg1与arg2是形参
'''
参数必须是int类型
'''
if arg1 > arg2:
print(arg1)
else:
print(arg2)
res = max_(100,101) # 100和101是实参