初始python第三天(三)

全局变量与局部变量

1.什么是全局变量

在globals中的变量,都是全局变量,全局变量的作用域就是整个程序

NAME = 'alex'
def global_test():

    name = 'alex'

    def local_test():
        name = 'jack'

global_test()
print(globals())
print("__name__:", __name__)
print('__doc__:', __doc__)
print('__cached__', __cached__)
print('__file__',__file__)
print('__loader__', __loader__)
print('__spec__', __spec__)
print('__package__', __package__)
print('__builtins__', __builtins__)

###############################
{'__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/PycharmProjects/fullstack/homework_oneday/Gloab.py', '__name__': '__main__', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000000B08AC8>, '__doc__': None, '__cached__': None, '__package__': None, 'NAME': 'alex', '__spec__': None, 'global_test': <function global_test at 0x0000000000B70048>}
__name__: __main__
__doc__: None
__cached__ None
__file__ D:/PycharmProjects/fullstack/homework_oneday/Gloab.py
__loader__ <_frozen_importlib_external.SourceFileLoader object at 0x0000000000B08AC8>
__spec__ None
__package__ None
__builtins__ <module 'builtins' (built-in)>

  

2.什么是局部变量

顾名思义就是只能在局部可以执行的变量,在子程序中定义的变量就称为局部变量,

局部变量的作用域是定义该变量的子程序

3.当全局变量与局部变量同名时:

在定义局部变量的子程序中,局部变量生效,在其他地方全局变量生效

4.定义全局变量和局部变量的命名规法

全局变量变量名用大写,局部变量变量名用小写

 5.python内置方 1 #python标准异常

 2 
 3 'ArithmeticError'  # 计算错误,算法错误
 4 'AssertionError'  # 断言错误,常用于测试
 5 
 6 'AttributeError'  #  属性错误
 7 'BaseException',   # 基本异常
 8 BlockingIOError'  # 阻塞错误
 9  'BrokenPipeError'  # 管道破裂错误
10  'BufferError'  # 缓冲区错误
11  'BytesWarning',  # 字节警告
12 'ChildProcessError',  # 子进程错误
13 'ConnectionAbortedError'  #  连接终止错误
14 'ConnectionError',   # 连接错误
15 'ConnectionRefusedError'  # 连接拒绝错误
16  'ConnectionResetError',  # 连接重置错误
17 'DeprecationWarning'  #  废弃警告
18 'EOFError'  # 文件终止错误
19 'Ellipsis'  # 省略错误
20  'EnvironmentError'  # 环境错误
21 'Exception'  # 异常
22  'False'  #
23 'FileExistsError'  #  文件存在 错误
24 'FileNotFoundError'  # 文件不存在  错误
25  'FloatingPointError'  # 浮点指针错误
26  'FutureWarning'  # 关于构造将来会有改变的警告
27 'GeneratorExit'  # 生成器发生异常来通知退出
28  'IOError'  #输入/输出操作失败
29 'ImportError'  # 导入模块/对象失败
30  'ImportWarning'  # 导入模块/对象警告
31  'IndentationError',  # 缩进错误
32 'IndexError'  # 索引错误,序列中没有该索引
33 'InterruptedError'  # 被中断的错误
34  'IsADirectoryError'  # 是一个目录错误
35 'KeyError'  # 映射中没有这个键
36  'KeyboardInterrupt'  # 用户终端执行(通常输入的是^c)
37  'LookupError'   # 无效数据查询基类
38  'MemoryError'  # 内存溢出错误
39 'NameError'  # 名字错误
40  'None'  # 空值
41  'NotADirectoryError'  # 不是目录错误
42  'NotImplemented'  #  方法没有实现
43  'NotImplementedError'  # 尚未实现的方法
44 'OSError'  # 操作系统错误
45 'OverflowError'  # 旧的关于自动提升为长整型(long)的警告
46  'PendingDeprecationWarning'  # 关于特性将会被废弃的警告
47  'PermissionError'  # 权限错误
48  'ProcessLookupError'  # 进程获取错误
49  'RecursionError'  # 递归错误
50  'ReferenceError'  # 弱引用试图访问已经垃圾回收了的对象
51 'ResourceWarning'  # 资源警告
52 'RuntimeError'  # 一般运行时的错误
53  'RuntimeWarning'  # 可疑的运行时的行为警告
54  'StopAsyncIteration'  # 停止异步迭代错误
55 'StopIteration'  # 迭代器没有更多的值
56 ,'SyntaxError'  #   语法错误
57  'SyntaxWarning'  # 语法警告
58  'SystemError'  # 系统错误
59  'SystemExit',   # 系统退出
60 'TabError'  # Tab和空格键混用
61  'TimeoutError'  # 时间超时错误
62  'True'  #
63  'TypeError'  # 对象类型错误
64  'UnboundLocalError',   # 访问未初始化的本地变量
65 'UnicodeDecodeError'  # Unicode解码时的错误
66 'UnicodeEncodeError'  # Unicode编码时的错误
67 'UnicodeError'  # Unicode相关的错误
68  'UnicodeTranslateError'  # Unicode转换时的错误
69  'UnicodeWarning',  # Unicode警告
70  'UserWarning'  # 用户代码生成警告
71 'ValueError'  # 传入无效的cans
72 'Warning'  # 警告的基类
73 'WindowsError'  # 系统调用失败
74  'ZeroDivisionError'  # 除数为0错误
'__build_class__'
'__debug__'
'__doc__'
'__import__',
'__loader__'
'__name__'
'__package__',

'__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip
原文地址:https://www.cnblogs.com/YingLai/p/6119902.html