zoukankan      html  css  js  c++  java
  • 函数的基本使用

    一 函数

    1、什么是函数

    函数就相当于具备某一功能的工具

    ​ 函数的使用必须遵循一个原则:

    ​ 先定义

    ​ 后调用

    2、为何要用函数

    解决以下问题:

    ​ 1、代码冗余、程序组织机构不清晰、可读性差

    ​ 2、可维护性差、扩展性差

    3、如何用函数

    ​ 先定义

    ​ 三种定义方式

    ​ 后调用

    ​ 三种调用方式

    ​ 返回值

    ​ 三种返回值的方式

    1 定义函数

    ​ 1、先定义

    ​ 定义的语法

    def 函数名(参数1,参数2,...):
    		'''文档描述'''
    		函数体
    		return 值
    

    形式一:无参函数

    def func(): 
    		print('haha')
    
    定义函数发生的事情

    ​ 1、申请内存空间保存函数体代码

    ​ 2、将上述内存地址绑定函数名

    ​ 3、定义函数不会执行函数体代码,但是会检测函数体语法

    调用函数发生的事情

    ​ 1、通过函数名找到函数的内存地址

    ​ 2、然后加括号就是触发函数体代码的执行

    如:

    def login(): #login = 函数的内存地址:将内存地址绑定给函数名
        '''
        登录功能
        :return:
        '''
        # x # 没有语法错误,不会报错
        # print( #语法错误
        print('hello')
        return
    print(login) #<function login at 0x10b270e18>
    

    示例一:

    def bar(): # bar=函数的内存地址
        print('from bar')
    
    def foo():
        print(bar) #<function bar at 0x106925e18>
        bar()
        print('from foo')
    foo()
    
    #结果展示:
    '''
    <function bar at 0x106925e18>
    from bar
    from foo
    '''
    

    示例二:

    def foo():
        # print(bar)
        bar()
        print('from foo')
    
    def bar():  # bar=函数的内存地址
        print('from bar')
        
    foo()
    #结果展示:
    '''
    from bar
    from foo
    '''
    

    示例三:

    def foo():
        # print(bar)
        bar()  
        print('from foo')
    
    foo() #报错 此时运行时,函数体内 bar()还没有定义
    def bar():  # bar=函数的内存地址
        print('from bar')
    

    形式二:有参函数

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

    形式三:空函数,函数体代码为 pass

    def func(x,y):
    		pass
    

    三种定义方式各应用在何处

    1、无参函数的应用场景

    def interactive():
        name=input('username>>: ')
        age=input('age>>: ')
        gender=input('gender>>: ')
        msg='名字:{} 年龄:{} 性别'.format(name,age,gender)
        print(msg)
    
    

    2、有参函数的应用场景

    def add(x,y): # 参数-》原材料
        # x=20
        # y=30
        res=x + y
        # print(res)
        return res # 返回值-》产品
    # add(10,2)
    res=add(20,30)
    print(res)
    
    

    3、空函数的应用场景

    def auth_user():  #构思整个代码框架的功能
      	'''user authentication function'''
    		pass
    def down_file():
      	'''download file function'''
      	pass
    
    

    2 调用函数

    1、语句的形式:只加括号调用函数

    interactive()
    
    add(1,2)
    
    

    2、表达式形式:

    def add(x,y): # 参数-》原材料
        res=x + y
        return res # 返回值-》产品
    # 赋值表达式
    res=add(1,2)
    print(res)
    # 数学表达式
    res=add(1,2)*10
    print(res)
    
    

    3、函数调用可以当做参数

    res=add(add(1,2),10)
    print(res)
    
    

    3 函数返回值

    return 是函数结束的标志,即函数体代码一旦运行到 return 会立刻终止函数的运行,并且会将 return 后的值当做本次运行的结果返回,具体值如下:

    1 返回 None

    def func():
      	print()
        return 
      	return None
    
    

    2 返回一个值 :return 值

    def func():
      	return 10
    res = func()
    print(res) #10
    
    

    3 返回多个值:用逗号分隔多个值,会被 return 返回成元组

    def func():
        return 10, 'aa', [1,2]
    res = func()
    print(res,type(res)) #(10, 'aa', [1, 2]) <class 'tuple'>
    
    
  • 相关阅读:
    CF633C Spy Syndrome 2 trie树
    luogu 3998 [SHOI2013]发微博 map
    阿里云ECS新增端口
    阿里云运行docker容器报错
    no matches for kind "ReplicaSet" in version "extensions/v1beta1"
    k8s中flannel:镜像下载不了
    k8s删除节点后再重新添加进去(踩坑)
    如何在IntelliJ Idea中同时启动不同端口
    SpringBoot整合Elastic-job(详细)
    K8S容器探针
  • 原文地址:https://www.cnblogs.com/xy-han/p/12513065.html
Copyright © 2011-2022 走看看