zoukankan      html  css  js  c++  java
  • 函数的参数

    函数的参数

    形参

    在函数定义阶段,函数名括号内的参数,称之为形式参数,简称形参,本质就是变量名。

     # 函数定义阶段函数名括号内的 x,y 就是形参,是用来接收实参的
    def foo(x,y): 
        print(x,y)
    

    实参

    在函数调用阶段,函数名括号内的参数,称之为实际参数,简称实参,本质就是变量值。

    def foo(x,y):
        print(x,y)
        
    foo(13,14)  
    # 函数调用阶段函数名括号内的 13,14 就是实参,用来传值给形参
    

    位置参数

    • 位置形参

    在函数定义阶段,按照从左到右的顺序依次定义的形参,称之为位置形参。

    def func(x,y,z):
        print(x)
        print(y)
        print(z)
    # 特点:按照位置定义的形参都必须被传值,多一个不行,少一个也不行。
    
    • 位置实参

    在函数调用阶段,按照从左到右的顺序依次定义的实参,称之为位置实参。

    def func(x,y,z):
        print(x)  # 13
        print(y)  # 14
        print(z)  # 5
        
    func(13,14,5)
    # 特点:按照位置一一对应形参,为其传值。
    

    默认形参

    在定义阶段就已经被赋值的形参,称之为默认形参。

    def func(x,y,z=5):
    	print(x)
        print(y)
        print(z)
        
    func(13,14)
    # 特点:在定义阶段就已经被赋值,调用时可以不用为其赋值。
    

    注意:1. 位置形参必须放在默认形参的左边,也就是前面。

    ​ 2. 默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定了。

    m = 9
    def foo(x=m):
        print(x)
      
    m = 10
    foo()  # 9
    

    关键字实参

    在调用函数时,按照 key = value的形式指名道姓为指定的形参传值,称之为关键字实参。

    def func(x,y):
        print(x,y)  # 13 14
      
    func(y=14,x=13)
    # 特点:可以打破位置的限制,但仍能为指定的形参赋值。
    

    注意:1. 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边。

    ​ 2. 可以混用位置实参和关键字实参,但不能对一个形参重复赋值。

    def func(x,y):
        print(x,y)  
      
    func(13,y=14,x=16)  # 报错,不能对同一个形参重复赋值。
    
    千里之行,始于足下。
  • 相关阅读:
    LeetCode: Tags-[Array], Difficulty-[Medium]
    J2SE 常用方法
    LeetCode: Tags-[Array], Difficulty-[Easy]
    Java Code Style 记录
    LintCode 1-30;
    Android在线程中发送GET和POST请求 在主线程更新UI
    Android中intent启动Activity中intent.setFlags()的作用
    源码备份 listview
    android数据库操作
    android 验证二
  • 原文地址:https://www.cnblogs.com/jincoco/p/11157983.html
Copyright © 2011-2022 走看看