函数基础
函数体系介绍
-
什么是函数
-
为什么要用函数
-
函数的分类:内置函数和自定义函数
-
如何自定义函数
- 语法
- 定义有参函数,及有参函数的应用场景
- 定义无参函数,及无参函数的应用场景
- 定义空函数,及空函数的应用场景
-
调用函数
- 如何调用函数
- 函数的返回值
- 函数参数的应用:形参和实参,位置形参,位置实参,关键字实参,默认形参,
*args
,**kwargs
-
高阶函数(函数对象)
-
函数嵌套
-
作用域与名称空间
-
装饰器
-
迭代器与生成器及协程函数
-
三元运算,列表解析、生成器表达式
-
函数的递归调用
-
内置函数
-
面向过程编程与函数式编程
如果现在有一个需求需要实现用户登录注册的功能,我们该如何实现呢?
# 注册
user_name = input('请输入用户名>>>').strip()
pwd = input('请输入密码>>>').strip()
with open('user_name.txt','a',encoding='utf-8') as fa:
fa.write(f'{user_name}:{pwd}
')
fa.flush()
请输入用户名>>>hades
请输入密码>>>123
# 登录
inp_age = input('请输入账户>>>').strip()
inp_pwd = input('请输入密码>>>').strip()
with open('user_name.txt','rt',encoding='utf-8') as fr:
for user_info in fr:
user_info_list = user_info.strip('
').split(':')
if inp_age == user_info_list[0] and inp_pwd == user_info_list[1]:
print('login sucessful')
break
else:
print('账户密码错误')
请输入账户>>>nick
请输入密码>>>234
账户密码错误
什么是函数
函数就相当于工人手中的工具箱,我们事先准备好工具,在我们需要使用的时候直接从工具箱中找用就好了
在程序中,函数就是一个具备某种功能的工具,我们事先定于好函数,后续需要使用的时候直接进行函数调用
为何用函数
如果不使用函数,我们写程序会出现程序冗长,程序扩展性较差,可读性也差
如何使用函数
先定义函数,再调用函数
-
定义函数
语法:def 函数名(paraml1,paramal2……):
''' 函数功能描述 ''' code1 code2 …… return 返回值
-
调用函数
语法:函数名(paraml1,paramal2……)
函数定义阶段
- 只检测语法,不执行函数里的代码
def func():
bar() # 不属于语法错误,不会报错
print('*'*10)
if: # 会报语法错误
File "<ipython-input-7-8ef9809f34c8>", line 4
if: # 会报语法错误
^
SyntaxError: invalid character in identifier
函数调用阶段
- 在调用函数的时候,会执行代码
def func():
bar() # 执行会报错
print('*'*10)
func()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-9-933d355a2496> in <module>
4
5
----> 6 func()
<ipython-input-9-933d355a2496> in func()
1 def func():
----> 2 bar() # 执行会报错
3 print('*'*10)
4
5
NameError: name 'bar' is not defined