python易错题之作用域

name = "lzl"
def f1():
    print(name)
def f2():
    name = "eric"
    f1()
f2()  //结果为  lzl   记住在函数未执行之前,作用域已经形成了,作用域链也生成了

原文地址:https://www.cnblogs.com/yanxiaoge/p/10557571.html

时间: 2024-10-09 03:05:42

python易错题之作用域的相关文章

python易错题之lambda 以及 for循环中内嵌函数

li = [] for x in range(10): print(x) //在函数没有执行前(li[0]()),for 循环中x已经执行完,x会一直为 9 def fun(): print(x) //一直为 9 ,fun函数在for循环中是没有被调用的 return x li.append(fun) print(li[0]()) //9 li = [lambda :x for x in range(10)] print(type(li)) #<class 'list'> print(type

PAT乙级15分题易错题总结

PAT乙级15分题易错题总结 B1026 程序运行时间 输入格式: 输入在一行中顺序给出 2 个整数 C1 和 C2.注意两次获得的时钟打点数肯定不相同,即 C1 < C2,并且取值在 [0,107]. 输出格式: 在一行中输出被测函数运行的时间.运行时间必须按照 hh:mm:ss(即2位的 时:分:秒)格式输出:不足 1 秒的时间四舍五入到秒. 输入样例: 123 4577973 输出样例: 12:42:59 易忽略细节 在计算时,未能正确四舍五入,除100以后余数只要不为零都进位1.//er

Java五道输出易错题解析(进来挑战下)

收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.parseInt("1")); System.out.println(Integer.parseInt("?2"))

Java五道输出易错题解析(避免小错误)

收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.parseInt("1")); System.out.println(Integer.parseInt("2"));

python基础易错题

1.以下代码输入什么: class Person: a = 1 def __init__(self): pass def getAge(self): print(__name__) p = Person() p.getAge() 结果为: __main__ 2.为了让下面这段代码运行,需要增加哪些代码? class A(object): def __init__(self,a,b): self.__a = a self.__b = b def myprint(self): print('a=',

JAVA程序改错 (易错题)

1 JAVA程序改错 2 1. 3 abstract class Name { 4 private String name; 5 public abstract boolean isStupidName(String name) { 6 } 7 } 8 答案: 错.abstract method必须以分号结尾,且不带花括号. 9 2. 10 public class Something { 11 void doSomething () { 12 private String s = ""

C/C++程序员面试易错题

c部分::::::::::::::::::::::::::::::::::: 27. 关键字volatile有什么含意? 并给出三个不同的例子.[参考答案]一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份.下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2). 一个中断服务子程序中会访问到的非自动变量

C++笔试易错题集(持续更新)

1.如下代码输出结果是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include<stdio.h> char *myString() {     char buffer[6] = {0};     char *s = "Hello World!";     for (int i = 0; i < sizeof(buffer) - 1; i++)     {         buffer[i] = *(s + i);     

python易错盲点排查之+=与+的区别分析以及一些赋值运算踩过的坑

问题1. int和list是不一样的 >>> a=1 >>> b=a >>> a+=1 >>> a,b (2, 1) >>> a=[1,2,3,4] >>> b=a >>> a+=[5] >>> a,b ([1, 2, 3, 4, 5], [1, 2, 3, 4, 5]) 通俗地讲,类型为int时,a和b是“不一样的”:类型为list时,a和b是“一样的”.术语叫