Python入门之函数的介绍/定义/定义类型/函数调用/Return

 本篇目录:

    一、 函数的介绍

    二、 函数的定义

    三、 定义函数的三种类型

    四、 函数调用的阶段

    五、 Return返回值

==========================================================================

 

一、 函数的介绍

  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)

 

二、函数的定义

  1. 函数的语法结构

    1.1 函数的结构,def是define的意思,代表定义

    def  函数名(参数1,参数2,参数3。。。):

    '''

    此处用来增加文档描述,阐述函数的功能,增加可读性

    '''
      代码块部分

    1.2 函数可以通过函数名直接调用,函数的命名必须能准备反应函数的功能

    1.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('登陆成功!')
    elseprint('登陆失败')

#调用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('登陆成功!')
    elseprint('登陆失败')

#调用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,暂时的跳过思维的断路的地方。

 

四、 函数调用的阶段

  1. 调用守则: 必须先定义再调用

    定义阶段不执行代码,只检测语法

    

  2. 调用方式:函数名+括号

    调用阶段根据函数名找到函数的内存地址,执行函数的代码体

    

 

五、 Return返回值

  1. 什么时候该有返回值

    函数代码体执行完毕后,需要返回一个结果给调用者

  2. Return返回值的三种情况

    2.1 当函数代码块中没有Return,返回为None

    

    2.2 如果返回值后跟一个值,就返回值本身

    

    2.3 return返回的值用逗号分割,返回多个值,组成一个元组(类型)

    2.4 如果函数体内有多个Return,则返回第一Return的值(Return代表函数结束)

    

    

# return返回值没有类型限制
# 函数内可以写多个return,但是只到第一个return就结束
# return是函数结束的标志

 

posted @ 2018-03-26 17:37  时光飞逝,逝者如斯  阅读(507)  评论(0编辑  收藏  举报