zoukankan      html  css  js  c++  java
  • 名称空间与作用域

    1. 定义域与名称空间解释

    input = 333  # 定义全局变量input,赋值333
    
    
    def func():  # 定义全局函数func
        input = 444  # 定义局部变量input,赋值444
    
    
    func()  # 调用全局函数func
    print(input)  # 打印全局变量input的值
    
    '''
    过程:
    定义全局变量input,并将其赋值为333,调用全局函数func(),执行函数func()
    定义全局函数func()内局部变量input,赋值444,无返回值,func()调用结束后,
    销毁func(),只剩全局变量input=333,print输出为333
    调用
    '''
    
    
    def func():  # 定义全局变量func()
        print(x)  # 输出x
    
    
    x = 111  # 全局变量x赋值为111
    func()  # 调用函数func()
    
    '''
    过程:
    定义全局函数func(),定义全局变量x,赋值为111,调用全局函数func(),函数定义输出x,但函数func()并无x,到全局名称空间去找,找到x=111
    输出x=111'''
    
    x = 1  # 定义全局变量x,并赋值为111
    
    
    def func():  # 定义全局函数func()
        print(x)  # 输出x
    
    
    def foo():  # 定义全局函数foo()
        x = 222  # 定义局部变量x,赋值为222
        func()  # 调用全局函数func()
    
    
    foo()  # 调用全局函数foo()
    
    '''
    过程:
    定义全局变量x=1,调用全局函数foo(),执行函数foo(),定义函数foo(),内部局部变量x=222,调用全局'''
    
    input = 111  # 定义全局变量input=111
    
    
    def f1():  # 定义全局函数f1()
        def f2():  # 定义局部函数f2()
            print(input)  # 局部函数f2输出input
    
        input = 222  # 全局函数f1定义input=222
        f2()  # 调用局部函数f2
    
    
    f1()  # 调用全局函数f1
    
    x = 111  # 定义全局变量x,赋值111
    
    
    def func():  # 定义全局函数func(),无形参
        print(x)  # 输出x
        x = 222  # 定义局部变量x,赋值222
    
    
    func()  # 调用函数func()
    
    x = 111  # 定义全局变量x,赋值111
    
    
    def foo():  # 定义全局函数foo(),无形参
        print(x, )  # 输出x
    
    
    def bar():  # 定义全局函数bar(),无形参
        print(x)  # 输出x
    
    
    foo()  # 调用全局函数foo()
    bar()  # 调用全局函数bar()
    
    x = 1  # 定义全局变量x,赋值1
    
    
    def func2():  # 定义全局函数func2(),无形参
        func1()  # 调用全局函数func1()
    
    
    x = 2  # 定义全局变量x,赋值2
    
    
    def func1():  # 定义全局函数func1(),无形参
        print(x)  # 输出x
    
    
    x = 3  # 定义全局变量x,赋值3
    func2()  # 调用全局函数func2()

    2. 实现登录成功记录下用户名

    # 如下全局变量记录了当前登录用户,编写登录功能,一旦用户登录成功,则将全局变量赋值为当前登录的用户名login_user=None
    login_user = None
    def login():
        account = input('请输入账号:')
        password = input('请输入密码:')
        if account == 'avery' and password == '123':
            print('登录成功')
            global login_user
            login_user = account
        else:
            print('登陆失败')
        return login_user
    
    
    print(login())

    3. 针对查询余额的功能,添加额外的逻辑:如果用户没有登录,则先执行登录功能

    login_user = None
    
    
    def login():
        account = input('请输入账号:')
        password = input('请输入密码:')
        if account == 'avery' and password == '123':
            print('登录成功')
            global login_user
            login_user = account
        else:
            print('登陆失败,请重新输入')
            return login_user
  • 相关阅读:
    Netty入门——客户端与服务端通信
    使用配置文件自定义Ribbon配置
    使用Java代码自定义Ribbon配置
    Spring Cloud Ribbon入门
    负载均衡简介
    常见的几种负载均衡算法
    Eureka编程
    Eureka多机高可用
    Maven项目打包成可执行Jar文件
    Eureka单机高可用伪集群配置
  • 原文地址:https://www.cnblogs.com/avery-w/p/14193064.html
Copyright © 2011-2022 走看看