码迷,mamicode.com
首页 > 编程语言 > 详细

011.Python之函数的基本使用

时间:2020-06-16 00:55:07      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:开发效率   内置函数   define   地址   error   login   input   返回   申请   

一、函数及其基本使用

(一)什么是函数?

函数是具备某一功能的工具。

函数的定义是准备这个工具的过程。

函数的调用就是使用工具。

(二)为何要有函数?

1.对于内置函数来说,主要是为了:

(1)提升开发效率

2.对于自定义函数来说:

(1)为了增强程序的组织结构性、提升可读性;

(2)减少代码冗余;

(3)提升程序的可维护性与扩展性。

PS:自定义函数是把程序中实现某一功能的代码组织整理到一起

(三)如何使用函数?

1.使用原则:

先定义,后调用。

2.定义函数的语法:

def 函数名(参数1,参数2,参数3):
    ‘‘‘
    文档注释
    ‘‘‘
    代码1
    代码2
    代码3
    。。。。。。
    return 值

3.调用函数的语法:

函数名(值1,值2,值3)

4.基本使用:

x = 10  # x = 存放值10的那个内存空间的内存地址
print(x)

def login():  # login = 存放代码的那个内存空间的内存地址
    name = input("your name>>: ")
    pwd = input("your pwd>>: ")
    role = input("your role>>: ")
    if name == "egon" and pwd == "123" and role == "amdin":
        print(‘login successful‘)
    else:
        print("user or password error")

print(login)  # <function login at 0x0000017D687C53A0>
x = 10
x() # TypeError: ‘int‘ object is not callable  整型不可被调用 是逻辑错误,没有语法错误

5.先定义,后调用

函数的使用分为两个阶段:

(1)定义阶段:申请内存空间把函数体代码放进去,然后把内存地址绑定给函数名。

(2)调用阶段:通过函数名找到函数体代码,加括号触发函数体代码运行。

注意:定义阶段只识别语法、不执行代码,只有在调用阶段才会执行代码!

def func():
    xxx
func() # NameError: name ‘xxx‘ is not defined  
#!强调!:定义阶段只识别语法不执行代码,调用阶段执行代码报错

示例1:

def f2():
    print("from f2")

def f1():
    print("from f1")
    f2()

f1()  # from f1  \n from f2

示例2:

def f1():
    print("from f1")
    f2()

def f2():
    print("from f2")

f1()  # from f1  \n from f2

6.函数定义的三种形式

(1)无参函数

def login():
    name = input("your name : ")
    pwd = input("your name : ")
    role = input("your role : ")
    if name == "egon" and pwd == "123" and role == "admin":
        print("login successful")
    else:
        print("user or password error")

login() # 调用函数

(2)有参函数

def max2(x, y):
    if x > y:
        print(x)
    else:
        print(y)

max2(11, 2222)  # 2222

(3)空函数

def login():
    """登录功能"""
    pass

def register():
    pass

def transfer():
    pass

7.函数调用的三种形式

def max2(p1_msalary, p2_msalary):
    if p1_msalary > p2_msalary:
        return p1_msalary
    else:
        return p2_msalary
    
x = max2(10, 11)
print(x * 12)

(1)语句形式(单纯的调用):

print("hello world")  # 调用内置函数print
max2(10,11)

(2)表达式形式:

x = max2(1, 2)
res = max2(1, 2) * 12
print(res)

(3)可以当作参数传给另一个函数:

print(max2(1, 2))

res = max2(max2(10, 11), 12)
print(res)

二、函数的返回值

(一)return是什么

return是函数结束的标志,函数内可以有多个return,函数体代码但凡运行到一个return,就会立即终止整个函数的运行,然后将return后的值当作本次调用的产品返回。

(二)函数的返回值

1.函数体内没有return,或return后没有值:

默认返回的是None。

def func():
    # return None  属于多此一举,本身就默认了返回None
    pass

res = func()
print(res)  # None

2.return值:

返回的就是这一个值。

def func():
    return 123

res = func()
print(res)  # 123

3.return 值1 值2 值3 ...:

返回一个小元组(值1, 值2, 值3)

def func():
    return 123, "abc", 3.1

res = func()
print(res)  # (123, ‘abc‘, 3.1)

三、函数参数的详细使用

(一)函数参数的两大分类:

1.形参:

在定义函数阶段,括号内指定的参数,称之为形式参数,简称形参。形参相当于定义在函数内的变量名,用于接收外部传进来的值。

def func(x,y):
    # x=10
    # y=11
    print(x)
    print(y)

2.实参:

在调用函数阶段,括号内传入的值,称之为实际参数,简称实参,实参相当于变量值,用于为形参赋值的。

func(10,11) 

3.总结:

在函数调用时,会将实参的值绑定给形参,这种绑定关系只能在函数内使用,在函数调用完毕后,实参会与形参解除绑定,回收占用的内存空间。

011.Python之函数的基本使用

标签:开发效率   内置函数   define   地址   error   login   input   返回   申请   

原文地址:https://www.cnblogs.com/huluhuluwa/p/13138632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!