• Python基础(6)_函数


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

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

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

    二:函数的分类

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

    函数的使用:先定义,后调用
    如何定义函数之定义函数的三种形式

    可以先看个例子

    '''
    ************
    ************
    ************
    hello world
    ************
    ************
    ************
    '''
    
    def print_tag(tag,count,line_num):
        for i 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)
    

      

    python中函数定义方法:
    def test(x):
      "The function definitions"
    x+=1
      return x

    def:定义函数的关键字
      test:函数名
      ():内可定义形参
      "":文档描述(非必要,但是强烈建议为你的函数添加描述信息)
      x+=1:泛指代码块或程序处理逻辑
      return:定义返回值

    调用运行:可以带参数也可以不带
    函数名()

    2.1、定义阶段

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

     

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

      

    2.2、调用阶段

    调用函数的形式
    语句形式
      func()
    
    表达式
      res=func2(10)
      res=10*func2(10)

    函数调用当做参数传入另外一个函数

    foo()  #执行函数语句形式

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

    res=foo()   #执行函数表达式形式 
    print(res)

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

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

    3、定义函数的三种形式

    无参函数    
        def func():
          pass
    
    有参函数
        def func(x):
          print(x)
    
    空函数
        def func()
          pass 

    前面也说了,函数的使用:先定义,后调用
    1、定义无参函数:函数的执行不依赖于调用者传入的参数就能执行时,需要定义为无参函数
    def print_tag():
         print('*************************')
    print_tag()
    

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

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

      

    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 定义空函数:函数体为pass

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

     

    def auth():
        '''用户认证'''
        pass
    
    def get():
        '''download file'''
        pass
    
    def put():
        '''upload file'''
        pass
    
    def check_hash():
        '''check file hash value'''
        pass
    

     总结

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

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

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

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

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

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

  • 相关阅读:
    记一份电网信息化建设企业信息分析平台规划
    2018年个人心灵历程记录
    OGG For Bigdata To Kafka同步问题处理
    Vue.js有赞商城(思路以及总结整理)
    汉诺塔-递归算法
    git合并分支
    js实现页面消息滚动效果
    chrome实现网页高清截屏(F12、shift+ctrl+p、capture)
    JS计算时间差
    Socket.io详解
  • 原文地址:https://www.cnblogs.com/shenbuer/p/7050464.html
Copyright © 2020-2023  润新知