zoukankan      html  css  js  c++  java
  • python函数的基本语法<三>

    实参和形参:
      定义函数括号里的一般叫形参
      调用时括号里传递的参数一般叫实参

    def students(age):
        print('my age is %s' % age)
    students(18)
    age就是形参,18就是实参
    

    参数的具体应用:

    1、位置参数:按照从左到右的顺序定义的参数
      位置形参:必选参数
      位置实参:按照位置给形参传值

    def foo(x,y):
        print(x,y)
    foo(1,2)
    #结果:1,2  

    2、关键字参数:

      按照key=value的形式定义的实参
      无需按照位置为形参传值

    注意的问题:
      1. 关键字实参必须在位置实参右面
      2. 对同一个形参不能重复传值

    def foo(x,y):
        print(x,y)
    foo(y=2,x=1)
    结果:1,2  

    3、默认参数:

      形参在定义时就已经为其赋值
      可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参)
    注意的问题:
      1. 只在定义时赋值一次
      2. 默认参数的定义应该在位置形参右面
      3. 默认参数通常应该定义成不可变类型

    def foo(x,y=2):
        print(x,y)
    foo(1)
    #结果:1,2
    foo(1,3)
    #结果:1,3  

    4、可变长参数:
      可变长指的是实参值的个数不固定
      而实参有按位置和按关键字两种形式定义,针对这两种形式的可变长,形参对应有两种解决方案来完整地存放它们,分别是*argsh和**kwargs

    #*args:传递的参数会变成元组
    def foo(x,y,*args):
        print(x,y,args)
    foo(1,2,3)
    #结果:1 2 (3,)
    #**kwargs:传递的参数会变成字典 def foo(x,y,**kwargs): print(x,y,kwargs) foo(1,2,a=3,b=4) #结果:1 2 {'a': 3, 'b': 4} 

    return 语句:

      return语句[表达式]退出函数,选择性地向调用方返回一个表达式。

      不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:

    # 可写函数说明
    def add_sum(arg1, arg2):
        # 返回2个参数的和."
        total = arg1 + arg2
        print("函数内 : ", total)
        return total
    # 调用sum函数
    total = add_sum(10, 20)

    名称空间:
      1.内置名称空间:比如print,max...(ctrl+左键查看源代码)这些内置函数所存在的地方叫做内置名称空间
      2.全局名称空间:顶格写的属于全局名称空间里面的
      3.局部名称空间:函数里面的代码属于局部名称空间

    作用域:名称空间的访问顺序
      总结:三者的加载顺序
      内置 - -->全局 - -->局部

    三者的访问顺序
      局部 - -->全局 - -->内置

    def f1():
        def f2():
            def f3():
                print(print)
            f3()
        f2()
    f1() 
    作者:无荨

    -------------------------------------------

    个性签名:学IT,就要做到‘活到老学到老’!

    如果觉得这篇文章对你有小小的帮助的话,别忘记点个“推荐”哦!

  • 相关阅读:
    Android GzipOutputStream、GzipInputStream用法
    JAVA中String类的intern()方法的作用
    Android中解析XML
    Android 实现Xmpp工具类
    Android 用SSL构建安全的Socket
    Android ReentrantLock
    ReentrantLock与synchronized
    Android 使用MediaMetadataRetriever类获取视频第一帧及用法
    Android 关于android布局的两个属性dither和tileMode
    Hadoop MapReduce编程 API入门系列之倒排索引(二十四)
  • 原文地址:https://www.cnblogs.com/twoo/p/11750321.html
Copyright © 2011-2022 走看看