zoukankan      html  css  js  c++  java
  • Python3 函数基础1

    定义函数

    函数不会改变某一个功能的代码, 函数只是将这个功能的代码封装起来, 方便后续调用.

    # 基本结构
    def 函数名(参数):
        '''文档注释, 函数功能的描述'''
    	代码块
    
    
    # 需要注意的是函数定义阶段, 只检测语法, 不执行代码
    
    def max_2():
        '''给定两个数, 打印较大的数''' 
        x = 10 
        y = 20
        if x > y:
            print(x)
        else:
            print(y)
    
    # 函数名.__doc__方法可查看函数的文档注释      
    print(max_2.__doc__)  # 给定两个数, 打印较大的数
    
    

    定义函数的三种形式

    空函数

    def func():
        pass
    

    有参函数

    def max_2(x, y):
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
    

    无参函数

    def max_2():
        '''给定两个数, 打印较大的数''' 
        x = 10 
        y = 20
        if x > y:
            print(x)
        else:
            print(y)
    

    函数的调用

    def max_2(x, y):
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
            
    # 使用函数名加括号即可调用函数
    # 有参函数调用时必须传入相应数量的参数
    max_2(20, 10)  # 20
    

    函数的返回值

    def max_2(x, y):
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
            
    retur = max_2(20, 10) 
    print(retur)  # None
    
    # 注意, 原函数只进行了结果打印, 函数本身并未返回任何值, 因此我们打印retur结果为None
    
    
    def max_2(x, y):
        '''打印和返回较大的数''' 
        if x > y:
            print(x)
            return x
        else:
            print(y)
            return y
        
    retur = max_2(20, 10) 
    print(retur)  # 20
    
    # 我们将原函数进行简单的改造, 加入return, 现在我们打印retur会显示函数的返回值
    
    # return有如下几个特性:
    # 1. return可以返回一个个值, 没有返回值则返回None
    # 2. 没有return则返回None
    # 3. return会终止函数, 不会运行下面的代码
    # 4. return可以返回多个值(通过逗号隔开), 返回值以元祖的形式接受
    
    
    

    函数的参数

    形参 (parameter)

    函数定义阶段时括号内设置的参数, 相当于一个变量名, 可以接收被传入的值

    实参(argument)

    实参是在函数调用阶段传给函数(形参)的一个具体的值, 相当于变量值, 可以为所有数据类型

    # 函数定义
    def max_2(x, y):  # x, y 即为形参
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
    
    # 函数调用
    max_2(10, 20)  # 10, 20 即为实参
    

    位置形参与位置实参

    当函数定义阶段时设置了多个形参时, 则调用函数时也必须依次传入对应数量的实参, 我们把按照从左到右的排列, 一一对应的形参和实参称为位置形参和位置实参

    # 函数定义
    def max_2(x, y):  # x, y 即为位置形参
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
    
    # 函数调用
    max_2(10, 20)  # 10, 20 即为位置实参
    

    默认形参

    默认形参既在函数定义阶段就已经给形参设定了一个默认值

    def max_2(x, y = 10):  # y 即为默认形参, 默认形参必须在位置形参的后面
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
    
    # 函数调用阶段仍能给默认形参传值, 如果没有给默认形参传值,即为默认值
    max_2(20)      # y = 10
    max_2(20, 30)  # y = 30
    

    关键字实参

    关键字实参即为在函数调用阶段, 按照形参名(关键字)给形参传值

    def max_2(x, y):
        '''打印较大的数''' 
        if x > y:
            print(x)
        else:
            print(y)
    
    # 函数调用
    max_2(y=10, x=20)  
    max_2(10, y=20)  # 关键字实参必须在位置实参的后面, 否则会报错
    max_2(10, x=20) # 报错,x被多次赋值
    
    
  • 相关阅读:
    Linux file命令详解
    Linux stat命令详解
    Linux cut命令详解
    Linux tr命令详解
    Linux grep/egrep命令详解
    Linux awk命令详解
    Linux xargs命令详解
    MVC设计模式
    qt博客
    android
  • 原文地址:https://www.cnblogs.com/bigb/p/11550405.html
Copyright © 2011-2022 走看看