zoukankan      html  css  js  c++  java
  • 【学习整理】第六章 抽象

    一、 定义函数:
    def hello(name):
    return 'hello,'+name+'!'
    return 在函数中有时候不会返回任何东西,他仅仅代表函数的结束;
    在函数内为参数赋予新值不会改变外部任何变量的值;
    字符串(以及数字和元组)是不可变的,无法被修改,只能用新值覆盖,若将可变的数据结构如列表用作参数的时候,该数据结构可以发生变化;
    二、关于引用
    例如:
    name=['xujie1','xujie2','xujie3'];
    n=name; #此时n 和name指向了同一个列表;当对n进行相关操作时,name也是变化的,如果想避免这种情况,可以复制一个列表的副本;
    三、函数参数的 关键字参数默认值
    1、关键字:
    #定义函数
    def hello(name,greeting):
    print '%s,%s!' % (greeting,name)
    #使用函数
    hello(name='xujie','hello');
    #运行结果
    hello,xujie
    当参数比较多的时候,通过在往函数传值的时候,为每个参数定义一个关键字命名用于区分参数,提高函数的可读性。同时可以告诉函数,哪个参数对应哪个值,即便是是传入参数的时候 改变参数的位置,只要命名对应也可以
    2、默认值:
    在定义函数的时候,可以为参数定义默认值:
    例如:
    def hello(name=“xujie”,greeting="hello!!"):
    print '%s,%s!' % (greeting,name)
    在使用这个函数的时候,如果没有传值,函数则使用默认的值。
    如果传值不完整,只传了一个值,只要给这个参数命名,能够让函数正确对应,其余参数使用默认值;
    如果函数具有多个参数,传参时,未设置关键字时,按照位置一一对应,设置关键字,按照关键字对应的参数处理,可全部传参数,可部分传参数,未传值参数按照定义时的默认值处理;
    四、可变参数
    def fun(*param):
    print param
    使用此函数的时候可以传递多个没有关键字的参数,输出的param将会是元组形式
    使用例子:
    fun(1,2,3)
    输出形式: (1,2,3)
    对于需要对关键字参数进行可变操作 函数用一下方式定义:
    def fun2(**params):
    print params
    此时函数的输出形式是字典形式;
    使用例子:
    fun2(foo=1,bar=2)
    输出:{'foo':1,'bar':2}
    五、上述可变参数操作的反转操作:
    #定义一个函数
    def add(x,y):
    return x+y
    #定义一个元组
    param=(1,2)
    #反转使用
    add(*param)
    对于关键字参数可以这样使用:
    定义一个字典 在进行传参的时候 使用(**prams)
    六、关于变量作用于的问题:
    1、全局变量和函数内的局部变量是不同的作用域,每个函数的创建都会创建新的作用域,并且函数内如果改变某个变量的值,不会影响全局变量;
    2、在局部作用于中读取全局变量,在命名不冲突的情况下 可以直接访问,冲突则无法访问
    但是可以通过 global()['变量名'] 这个函数获取全局变量
    3、重新绑定全局变量:
    x=1
    def change_global():
    global x #通过这个方式获取全局变量
    x=x+1
    使用:
    change_global()
    x
    2
     
     
  • 相关阅读:
    eclipse p2更新官网wiki的例子
    打包完的rcp产品svn不储存密码问题
    hudson 使用节点打包出现ClassNotFoundException: org.jvnet.hudson.maven3.agent.Maven3Main 错误
    maven 安装第三方jar到本地 出现 The goal you specified requires a project to execute but there is no POM in this directory 错误
    利用tycho插件自动生成pom文件
    蒙特卡洛(Monte Carlo)方法求面积
    笨办法学Python(learn python the hard way)--练习程序42
    笨办法学Python(learn python the hard way)--练习程序41
    笨办法学Python(learn python the hard way)--练习程序39-40
    笨办法学Python(learn python the hard way)--练习程序31-35
  • 原文地址:https://www.cnblogs.com/xujie09/p/7138159.html
Copyright © 2011-2022 走看看