• Python(day6)-函数


    一 为何要有函数?
    不加区分地将所有功能的代码垒到一起,问题是:
    代码可读性差
    代码冗余
    代码可扩展差

    如何解决?
    函数即工具,事先准备工具的过程是定义函数,拿来就用指的就是函数调用

    结论:函数使用必须是:先定义,后调用

    二:函数的分类
      1.内置函数:built-in
      2.自定义函数:
        def 函数名(参数1,参数2,...):
          '''注释'''
          函数体

    可以先看个例子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    '''
    ************
    ************
    ************
    hello world
    ************
    ************
    ************
    '''
     
    def print_tag(tag,count,line_num):
        for in range(line_num):
            print(tag*count)
     
    def print_msg(msg): #msg='hello world'
        print(msg)
     
    print_tag('*',20,3)
    print_msg('hello world')
    print_tag('*',20,3)

      

    1、定义阶段

    1
    2
    3
    4
    5
    6
    def foo():
        print('from foo')
        bra()
     
    def bra():
        print('from bra')

     

    1
    2
    def func():  #语法没问题,逻辑有问题,引用 一个不存在的变量名
        adfkgjklgnlfijg

      

    2、调用阶段

    调用函数的形式
    语句形式
      func()

    表达式
      res=func2(10)
      res=10*func2(10)


    函数调用当做参数传入另外一个函数
    res=func2(func2(10))

    1
    foo()  #执行函数语句形式<br><br>================================<br><br>res=foo()   #执行函数表达式形式 <br>print(res)

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

    1
    2
    3
    def func():
        if 1>2
           print('hahahaha')

    4、定义函数的三种形式

    无参函数

    def func():

      pass

    有参函数

    def func(x):

      print(x)

    空函数

    def func()

      pass 

    函数的使用:先定义,后调用
    如何定义函数之定义函数的三种形式
    1.定义无参函数:函数的执行不依赖于调用者传入的参数就能执行时,需要定义为无参函数
    1
    2
    3
    def print_tag():
         print('*************************')
    print_tag()

    2.定义有参数:函数的执行需要依赖于调用者传入的参数才能执行时,需要定义为有参函数

    1
    2
    3
    4
    5
    def func(x,y,*args):
        print(x,y)
        print(args)
     
    func(1,2,3,4,5,6)
    1
    2
    3
    4
    5
    6
    7
    8
    def max2(x,y):  
         if x > y:
             return x
         else:
             return y
     
     res=10*max2(20,2)    #取大值乘10
     print(res)

      

    1
    2
    3
    4
    5
    6
    7
    8
    9
    def max2(x,y):
        if x > y:    #如果x值比y大
            return x    #返回x值给函数max2
        else:
            return y  #否则返回y值
     
    #11,23,100
    res=max2(max2(11,23),100)  #比较x 、y的值,取大值接着比较
    print(res)

      

    3 定义空函数:

    1
    2
    3
    #3 定义空函数:函数体为pass
    # def func(x,y,z):
    #     pass

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    def auth():
        '''用户认证'''
        pass
     
    def get():
        '''download file'''
        pass
     
    def put():
        '''upload file'''
        pass
     
    def check_hash():
        '''check file hash value'''
        pass

     总结

    函数的使用必须遵循:先定义后使用的原则

    函数的定义:与变量的定义是相似的,如果没有事先定义函数而直接引用,就相当于在引用一个不存在的变量名

    补充:函数里没有return 默认返回none值

    包含多个值,默认识别返回值成元组格式

    返回值:可以返回任意类型

    return的效果:只能返回一次值,终止函数的执行

  • 相关阅读:
    存储过程!
    声卡: 不同的声音,声卡进阶应用技巧集(zz)
    VMware虚拟机的移植性……
    终于挤进前五十了,呵呵
    水源九周年庆:)
    Windows Malicious Software Removal Tool
    听教授谈论文
    VMware虚拟机文件整理和压缩
    弄了一整天的VMWare
    倒霉!倒霉!
  • 原文地址:https://www.cnblogs.com/xiaoyonglaing/p/7264060.html
Copyright © 2020-2023  润新知