本篇目录:ssh
1、 函数的介绍函数
2、 函数的定义工具
3、 定义函数的三种类型spa
4、 函数调用的阶段code
5、 Return返回值orm
==========================================================================blog
1、 函数的介绍ip
1. 什么是函数?为何要有函数?内存
1.1. 具有一个特定功能的工具(类比)>>>函数文档
1.2 事先准备工具的过程(类比)>>>函数的定义
1.3 工具直接拿来使用,使用其特定的功能>>>函数的调用
1.4 没有函数的话,程序会有如下缺点:
a. 组织结构不清晰,可读性差
b. 管理维护难度大,扩展性差
c. 代码冗余,重复
#1 定义函数 def print_sym(sym*count): print(sym*count) def print_msg(msg): print('\033[35m%s\033[0m' %msg)
2、函数的定义
1. 函数的语法结构
1.1 函数的结构,def是define的意思,表明定义
def 函数名(参数1,参数2,参数3。。。): ''' 此处用来增长文档描述,阐述函数的功能,增长可读性 '''
代码块部分
1.2 函数能够经过函数名直接调用,函数的命名必须能准备反应函数的功能
1.3 代码块部分是函数功能实现的代码
注意点:
# 函数和变量都是占用内存地址,过程类似,可是函数并非变量
3、定义函数的三种类型
1. 带参函数
1.1 参数是外部调用函数的部分传入函数的值
1.2 函数中的代码块逻辑中须要函数调用者传入值
def max2(x,y): ''' 这是一个比较大小的函数,返回较大的数 ''' if x >y: print(x) else: print(y) #调用函数max2 max2(100, 200)
def auth(username,pwd): ''' 该函数用来验证用户输入的用户名和密码 ''' if username == inp_name and pwd == inp_pwd: print('登录成功!') else: print('登录失败') #调用auth() auth()
def interactive(): ''' 该函数用来返回用户输入的用户名和密码 ''' inp_name = input('Username>>>:').strip() inp_pwd = input('Password>>>:').strip() return inp_name, inp_pwd def auth(inp_name, pwd): ''' 该函数用来验证return的结果是元组类型 ''' res = interactive() x = res[0] y = res[1] print(x) print(y)
2. 无参函数
1.1 函数自己定义无参数,调用者也不须要传入参数
def print(): ''' 该函数用来展现无参函数 ''' print('\033[35m--------------------\033[0m') print('--------------不须要传入参数------------')
1.2 函数体的代码逻辑不须要函数的调用者传入值
def auth(): ''' 该函数用来展现无参函数 ''' inp_name = input('Username>>>:').strip() inp_pwd = input('Password>>>:').strip() if username == inp_name and pwd == inp_pwd: print('登录成功!') else: print('登录失败') #调用auth() auth()
3. 空函数
什么事都不作的函数就是一个空函数。
即使是一个空函数,它也会有以下属性:
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
# Tips:当咱们在写程序的过程当中,遇到一个卡壳的地方,咱们能够在函数末尾加一个pass,暂时的跳过思惟的断路的地方。
4、 函数调用的阶段
1. 调用守则: 必须先定义再调用
定义阶段不执行代码,只检测语法
2. 调用方式:函数名+括号
调用阶段根据函数名找到函数的内存地址,执行函数的代码体
5、 Return返回值
1. 何时该有返回值
函数代码体执行完毕后,须要返回一个结果给调用者
2. Return返回值的三种状况
2.1 当函数代码块中没有Return,返回为None
2.2 若是返回值后跟一个值,就返回值自己
2.3 return返回的值用逗号分割,返回多个值,组成一个元组(类型)
2.4 若是函数体内有多个Return,则返回第一Return的值(Return表明函数结束)
# return返回值没有类型限制 # 函数内能够写多个return,可是只到第一个return就结束 # return是函数结束的标志