zoukankan      html  css  js  c++  java
  • day07

    1.什么是局部变量?

    #1.
    局部变量,就是在函数内部定义的变量
    不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
    局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用

    2.什么是全局变量?

    #2.
    如果一个变量,既能在一个函数中使用,也能在其他的函数中使用
    这样的变量就是全局变量
    即定义在全局空间的变量

    3.局部变量和全局变量有什么区别?(提示:两者的定义、引用、修改)

    #3.
    定义:
    全局变量定义在全局空间,函数外部
    局部变量定义在函数内部
    引用:
    全局变量可以被所有的函数使用
    局部变量只能在该函数内使用,其它函数不能访问
    修改:
    局部变量在函数内部修改不受限制
    全局变量在函数内部修改受限制

    4.如果全局变量和局部变量同名会发生什么效果?

    #4.
    那么该函数内部,使用的将是局部变量的值
    在函数外部,或其他函数内部,使用的全局变量的值

    5.Python中可变类型数据有哪些?不可变类型数据有哪些?

    #5.
    可变类型:
    字典、列表、集合
    不可变类型:
    数字、字符串、元组

    6.什么是函数的嵌套,写一个简单的函数嵌套:调用fun1,在fun1调用fun2,所有函数的开始和结束位置都打印一行文本,验证调用执行顺序

    #6.
    def fun2():
        print('begin fun2')
        print('end fun2')
    
    def fun1()
        print('begin fun1')
        fun2()
        print('end fun1')
    fun1()

    7.分别定义一个字符串类型的全局变量、列表类型的全局变量。定义函数fun1,在函数中分别使用,总结有什么区别?

    #7.
    a = "hello python"
    b = [1,2,3,4,5]
    def fun2():
        # 使用全局变量
        print(a)
        global a
        a = "hello world"
        # 如果这么使用global后,意即:
        # 管我什么类型,既然你(函数内的a)都用了global大法,那么我(外部的a)就跟定你了
        # 你(函数内的a)变什么样,我(外部的a)也要变成什么样
    
        print(b)
        global b
        b = [6,7,8,9,10]
        # 与a同理
        # 但是,但是,但是:
        # 因为b是可变类型,如果不加global的话,使用如b.append方法等去修改
        # 也会影响到全局变量里的b的值

    8.使用函数完成用户登录验证的程序,(用户名和密码传入到函数中进行校验)

    用户名和密码从键盘输入

    i. 默认的用户名是python,密码为123456

    ii. 校验成功打印欢迎您:python

    iii. 校验失败打印用户名或密码错误

     def login(uname, pwd):
    
     if uname == "python" and pwd == 123456:
         print("欢迎您%s" % uname)
     else:
         print("用户名或密码错误")
    
    uname = input("请输入用户名:")
    pwd = int(input("请输入密码:"))
    
    login(uname, pwd)

    9.编写一个函数,通过键盘循环获取5个学生的信息,将学生信息组成字典保存到列表中,最终将学生的信息的列表打印出来(学生信息包含name、age、id)

    def getinfo():
    
        info_list = []
    
        for i in  range(0,5):
            info = {}
    
            info["name"] = input("请输入name:")
            info["age"] = input("请输入age:")
            info["id"] = input("请输入id:")
    
            info_list.append(info)
    
        print(info_list)
    
    
    getinfo()

    10.定义一个函数,要求输入大于0的数字整数N,判断传入数字的奇偶性,如果是奇数返回"N是奇数",否则返回"N是偶数",否则返回"请输入大于0的整数"

    def panduan(N):
          if N > 0:
              if N % 2 == 0:
                  return "%d是偶数" % N
              else:
                  return "%d是奇数" % N
          else:
              return "请输入大于0的整数"
    
    
      N = int(input("请输入数字:"))
    
      res = panduan(N)
      print(res)

    11.定义一个递归函数,做一个1-100之间地偶数和?

    #11
    def ou_shu(start):
    
        if start > 2:
            start = start + ou_shu(start-2)
    
        else:
            start = 2
    
        return start
    
    print(ou_shu(100))

    12.定义一个匿名函数,产生1-100偶数和?

    #12
    # a为匿名函数的引用,x+a(x-2)中的a(x-2)即为匿名函数自身,传入参数为x-2,匿名函数调用自己:递归
    a = lambda x: x+a(x-2) if x> 2 else 2
    print(a(100))

    13.使用列表推导式,产生一个1- 100 包含1- 100 之间的偶数列表?

    #13
    a = [i for i in range(0, 100, 2)]
    print(a)

    例子:

    #简答题:
    #1. 什么是局部变量?什么是全局变量?各自的作用是什么?局部变量修改全局变量使用的关键字是?
    #全局变量--是在整个py文件中声明,全局范围内都可以访问
    #局部变量--是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序会报错
    # global关键字
    
    #2. 函数如何返回多个返回值,如何使用?
    # return 值1,值2,值3,
    # 返回后是打包好的数据,我们要进行拆包
    如:
    def a():
        return 1,2,3
    a,b,c=a()
    print(a)
    print(b)
    print(c)
    
    #3. return的作用?
    # 1. 返回函数运行的结果给调用者 
    # 2. 结束程序
    
    
    #4. 什么是缺省参数?什么是不定长参数?
    #  缺省参数是函数的预设值,在不传入该参数的情况下,使用自己的值,如果用户有指定,就不会用自己的预设值。
    #  不定长参数:函数参数个数不能确定的参数,不能确定,我们就是说他为不定长参数
    
    
    #5. 什么是拆包?
    # 将打包的数据从包里拿出来,相当于遍历元组取出每一个元素给前面的变量赋值
    
    
    #6. 谈谈引用是什么(谈谈你对引用的理解)?
    # 引用机制就是对的内存有效的管理,不让数据重复出现在内存中。减少内存空间的无效使用。
    # 
    
    #7. 什么是可变类型?什么是不可变类型?分别有哪些数据类型?
    #  可变类型: 内存地址不变的情况下,该地址中的数据可以改变  --列表、字典、集合
    # 不可变类型: 内存地址不变的情况下,改地址中的数据不可以改变 --数字、字符串、元组
  • 相关阅读:
    堆排序回顾
    动画函数封装
    mouseenter 和mouseover的区别
    元素滚动 scroll 系列
    元素可视区 client 系列
    元素偏移量 offset 系列
    JS执行机制
    BOM
    常用键盘事件
    常用鼠标事件
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12847049.html
Copyright © 2011-2022 走看看