美文网首页
函数 一

函数 一

作者: 吃可爱长大鸭 | 来源:发表于2021-02-01 11:04 被阅读0次

函数基本使用

'''
1. 什么是函数
    在程序具备某一功能的工具=》函数
    事先准备好工具=》函数的定义
    遇到应用场景、拿来就用=》函数的调用

    分为两大类:
        1. 内置函数
        2. 自定义函数


2. 为何要用函数
    1. 代码冗余
    2. 程序的组织结构不清晰,可读性差
    3. 扩展性差

3. 如何用函数
    函数的使用必须遵循一个原则:
        1. 先定义
            定义语法:
                def 函数名(参1,参2,参3,...):
                    """
                    文档注释
                    """
                    代码1
                    代码2
                    代码3
                    ...
                    return 值

        2. 后调用
            函数名()


'''
#一. 定义阶段: 只检测语法,不执行代码
def func():
    print('from func 1')
    print('from func 2')
    print('from func 3')
    print('from func 4')

#二. 调用阶段: 开始执行函数体代码
func()
func()
func()

# 示范一:
def foo():
    print('from foo')
    bar()

foo()

# 示范二:
def bar():
    print('from bar')

def foo():
    print('from foo')
    bar()

foo()

#示范三:
# 定义
def foo():
    print('from foo')
    bar()

def bar():
    print('from bar')

# 调用
foo()


# 三:定义函数的三种形式
# 1. 无参函数
def func():
    print('from func')

func()

# 2. 有参函数
def max2(x,y):
    # x=1
    # y=2
    if x > y:
        print(x)
    else:
        print(y)

max2(1,2)
max2(3,4)


# 3. 空函数
def register():
    pass


# 四:调用函数的三种形式
# 1 语句形式
def func():
    print('from func')

func()
# 2 表达式形式
def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max2(1000,2000) * 12
print(res)

res=len('hello')
print(res)

# 3 函数的调用可以当作另外一个函数的参数传入
def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max2(max2(1,2),3)
print(res)

函数基本返回值

'''
1. 什么是函数的返回值
    返回值是函数体代码的运行成果

2. 为何要有返回值
    需要拿到函数的处理结果做进一步的处理,则函数必须有返回值

3. 如何用
    return 返回值的特点:
        1. 返回的值没有类型限制,也没有个数限制
            I: return或者函数没return:返回值None
            II: return 值:返回的就是该值本身
            III: return 值1,值2,值3:返回元组(值1,值2,值3)

        2. return是函数结束运行的标志,函数内可以有多个return,但只要执行一次函数就立即结束,并且将return后的值当作本次调用的结果返回

'''
def func():
    # return 1,1.2,'aaa',[1,2,3]
    pass
res=func()
print(res)


def func():
    print('aaaa')
    return 1
    print('bbb')
    return 2
    print('ccc')
    return 3


func()

函数的参数使用

# 一 函数的参数分为两大类:
# 1. 形参:在定义函数时括号内指定的参数(变量名),称之为形参
# 2. 实参:在调用函数时括号内传入的值(变量值),称之为实参
# 二者的关系:在调用函数时,实参值(变量值)会传给形参(变量名),这种绑定关系在调用函数时生效,调用结束后解除绑定
def func(x,y):
    x=1
    y=2
    print(x,y)#

func(1,2)
print(x)
a=1
b=2
func(a,b)

# 二:函数参数详解
# 1. 形参:
# 1.1 位置形参:在定义阶段,按照从左到右的顺序依次定义的形参
# 特点:必须被传值
def func(x,y,z):
    print(x,y,z)


func(1,2,3)
func(1,2,3,4)
func(1,2,)

# 1.2 默认参数:在定义阶段,就已经为某个形参赋值,该形参称之为默认形参
# 特点:在定义阶段就已经有值,意味着调用阶段可以不用为其传值
# 注意点:位置形参必须放在默认形参的前面

def func(x,y=2):
    print(x,y)

func(1)
func(1,3333333)

def register(name,age,sex='male'):
    print(name,age,sex)

register('靓仔',18,)
register('小红',28,)
register('小黑',38,)
register('花姑娘',16,'female')

def func(y=2,x):
    print(x,y)


#1.3 形参中*与**的用法
# 1. 形参中带*:*会将溢出的位置实参存成元组的形式然后赋值其后变量名
def func(x,y,*args):
    print(x,y,args)

func(1,2,3,4,5,6)
# 2. 形参中带**:**会溢出的关键字实参存成字典的格式然后赋值其后变量名
def func(x,y,**kwargs):
    print(x,y,kwargs)

func(1,y=2,z=3,m=1,n=2)

# 2. 实参
# 2.1 位置实参: 在调用阶段,按照从左到右的顺序依次传入的值
# 特点:这种传值方式会与形参一一对应
func(2,1,3)

# 2.2 关键字实参: 在调用阶段,按照key=value的格式传值
# 特点:可以完全打乱位置,但仍然能为指定的形参传值
func(z=3,y=2,x=1)

# 注意:可以混用关键字实参与位置实参,但是
# 1. 同一个形参只能被赋值一次
# 2. 位置实参必须跟在关键字实参的前面
func(1,z=3,y=2)
func(1,z=3,y=2,x=333)
func(x=1,2,z=3) # 报语法错误


#2.3 实参中*与**的用法
# 1. 实参中带*:先将实参打散成位置实参,然后再与形参做对应
def func(x,y,z):
    print(x,y,z)

func(1,[2,3])
func(*[1,2,3]) #func(1,2,3)
func(*'hello') #func('h','e','l','l','o')
# 2. 实参中带**
func(*'hel') #func('h','e','l')
#先将实参打散成关键字实参,然后再与形参做对应
def func(x,y,z):
    print(x,y,z)

func(**{'x':1,'z':3,'y':2}) #func(z=3,y=2,x=1)


def index(x,y,z):
    print(x,y,z)

def wrapper(*args,**kwargs): # args=(1,2,3,4,5) kwargs={'c':3,'b':2,'a':1}
    index(*args,**kwargs) #index(*(1,2,3,4,5),**{'c':3,'b':2,'a':1}) #index(1,2,3,4,5,a=1,b=2,c=3)
                          #index(1,z=3,y=2)
# wrapper(1,2,3,4,5,a=1,b=2,c=3)

wrapper(1,z=3,y=2)

相关文章

  • 函数(一)

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。P...

  • 函数(一)

    0. 概念 理解:一段具有 特定功能 的代码块 作用1. 方便代码的重用2. 分解任务,简化程序逻辑3. 使代码更...

  • 函数一

    定义 在js中这种重复叫偶合,这种偶合代码叫低效代码,编程讲究一个原则:高内聚、弱偶合,就是把相同功能的代码抽取出...

  • 函数(一)

    '''函数本身就是封装的体现。 将一段功能代码打包到一块,对外提供一个可以调用的名字和输入的参数 函数的定义: d...

  • 函数(一)

    调用函数 python 内置了很多函数。如 abs, max等等 对于内建函数的说明,官方提供了相应的介绍文档学习...

  • 函数一

    1. 函数简介 • 函数也是一个对象 • 函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用 ...

  • 函数(一)

    1.定义函数 2.传参 2.1 传递实参 2.1.1 位置实参 位置实参:将实参和形参一一对应 2.2.2 关键字...

  • 函数 一

    函数基本使用 函数基本返回值 函数的参数使用

  • cpp函数(一):认识函数

    作者邮箱:z_zhanghaobo@163.comgithub相关: https://github.com/Hao...

  • 求和函数(SUM函数)(一)

    一、基本用法 1.区域求和 SUM函数 Alt+=快速求和 2.不连续的区域 SUM(A,B,C) A、B、C是区...

网友评论

      本文标题:函数 一

      本文链接:https://www.haomeiwen.com/subject/uwrjtltx.html