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}    
  • 相关阅读:
    网页简单模块布局
    Navicat 8 注册密码
    布局黄冈中学
    php导出csv格式文件
    518. 零钱兑换 II
    1813. 句子相似性 III
    ransac算法概述
    c++ 读取文件夹下所有的文件名
    c++ 获取系统时间 写txt string 转 char* 文件改名 文件删除
    1498. 满足条件的子序列数目 二分 快速幂 等比数列前n项和公式
  • 原文地址:https://www.cnblogs.com/baobaoran/p/9665081.html
Copyright © 2011-2022 走看看