zoukankan      html  css  js  c++  java
  • Python自学笔记(12day)

    函数的解释

    a=1
    def func():
        a+=1
        print(a)
    func()
    
    #func():意思就是,我调用函数,所得到什么结果?然后去调用的函数中去找。
    #:结果:2
    a=1
    def func():
        a+=1
        return a
    func()
    
    #调用函数,得到a的值2,此时func()结果为2,但是没有打印,所以啥都没有,加上一个#print(),就好了

    (1)当函数形参含有默认参数为可变数据类型时,每次调用同一个参数.

    def func(l=[]):
        l.append(l)
        print(l)
    func()
    func()
    func()
    
    
    #输出:[1],[1,1],[1,1,1]

    (2)函数的命名空间:

      (1)全局命名空间 :就是非函数内部的命名空间

      (2)局部命名空间:函数内部的命名空间

      (3)内置命名空间:解释器自带的

    注意:1.  全局变量不可以使用局部变量

       2.  局部变量可以使用去那句变量,但是不可以使用全局变量中大的不可变数据类型,如果想用,需要再程序开始时加上一个global

       3.  各函数的局部变量之间相互独立,互补影响。

    a=1
    def  func():
        a=2
    print(func())
    
    #输出:1,局部变量不可用全局变量中不可变的数据类型。
    a=1
    def func():
        global a      #我将要对a进行修改
        a=2
    print(func())
    
    #输出:2

    一般来说不建议使用global,因为当代码较多时,容易出现出现问题,那想要再局部中使用a,又想要修改a的值如何做到?

    a=1
    def func(a):
        a=2
        return a
    a=func(a)
    print(a)

    (3)   对于全局作用域中查找命名变量的名字用global()

      对于本地作用域中查找名字用locals()

    a=1
    b=2
    def fun(c):
        x="aaaa"
        y="bbbb"
        print(locals())
    fun(c)
    print(gloabl())
    
    #输出:{"x":"aaaa","y":"bbbb"}
     #           {"a":1,"b":2}    
  • 相关阅读:
    把Discuz!NT放在虚拟目录下
    表格样式
    页面CSS的问题,不懂中
    临时存储信息
    asp.net2.0事务
    repeater控件分成两列显示
    P2P的NAT研究
    javascript字符串trim的实现
    新浪微博OAUTH2验证
    新浪微博接口在safri下的bug
  • 原文地址:https://www.cnblogs.com/baobaoran/p/9665081.html
Copyright © 2011-2022 走看看