首页
学习
活动
专区
圈层
工具
发布

#抬抬小手学Python# Python 之作用域下的 global 和 nonlocal 关键字

global 和 nonlocal 作用域 该部分内容涉及 Python 变量作用域相关知识,变量作用域指的是变量的有效作用范围,直接理解就是 Python 中的变量不是任意位置都可以访问的,有限制条件...一般情况下变量的作用域变化范围是 块级、函数、类、模块、包等,级别是从小到达。Python 中是没有块级作用域的,所以我们在写代码的时候,下面的代码是正确的。...Python 中的作用域 上文已经提及了作用域是 Python 程序可以直接访问一个变量的作用范围,Python 的作用域一共有 4 种,分别如下: L(Local):最内层,包含局部变量,例如函数(方法...,定义在函数外部的变量拥有全局作用域。...如果希望函数内部(内部作用域)可以修改外部作用域的变量,需要使用 global 关键字。

67920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    required属性的作用_required的作用

    目前HTML5不支持指定验证的时间,而且验证消息的样式和内容各个浏览器不大一样,不能修改。)...这里使用了几个新的CSS伪类: required(必填)和optional(选填):根据字段中是否使用required属性来应用不同的样式。...比如:想让必填的元素应用浅黄色背景,而必填且当前输入无效值的字段用橙色背景。.../> 5,自定义验证 对于特定字段如果正则表达式验证还无法满足需求的话,可以编写自定义的验证逻辑,并利用HTML5的验证机制。...通常使用setCustomValidity()方法提供错误消息,浏览器会将该消息当做自己的内置消息。在提交表单时,就会看到弹出的提示框中包含自定义的错误消息。

    4.6K20

    #抬抬小手学Python# 列表与元组那些事儿【附源码】

    1.1 列表和元组的切片 列表和元组都是有序的,有序就能切片,而切片记住是顾头不顾尾的操作,例如下述代码。...__sizeof__()) 输出的结果存在差异,相同元素数据的列表与元组,系统给列表分配的空间要大一些 64 48 第一个知识点是 __sizeof__(): 表示的打印系统分配空间的大小。...__sizeof__()) 运行结果为: 初始化大小 40 追加1个元素之后的大小 72 追加2个元素之后的大小 72 追加3个元素之后的大小 72 追加4个元素之后的大小 72 追加5个元素之后的大小...上述代码的原理: 列表从本质上看,是一个动态的数组,列表中并不是存储的真实数据,而是每个元素在内存中的地址(引用),因为列表存储是元素的引用这个特性,所以引用占用的内存空间是相同的,也就是 8 个字节...typename:字符串类型的参数,这个参数理解起来比较绕,贴一下官方的解释,namedtuple() 会根据这个 typename, 创建一个子类类名返回出去,例如上文的测试代码中的 Point,创建好的类名称就是

    48040

    #抬抬小手学Python# Python Poetry 进行依赖管理【图文】

    作为本规范的一部分,为软件包引入了一个新的配置文件,用于指定它们的构建依赖项(期望相同的配置文件将用于未来的配置细节)。(来源) 作者考虑了上面引用中提到的“新配置文件”的几种文件格式。...在您的环境中运行的代码在另一台机器上可能有问题。 更糟糕的是,外部包通常依赖于特定的 Python 版本。因此,安装包的用户可能会收到错误消息,因为您的依赖项版本与其 Python 版本不兼容。...中间看似随机的字符串是您的父目录的哈希值。通过中间的这个唯一字符串,Poetry 可以处理系统上具有相同名称和相同 Python 版本的多个项目。...有了激活的虚拟环境,您就可以开始管理一些依赖项并看到 Poetry 的魅力了。 声明你的依赖 Poetry 的一个关键元素是它对依赖项的处理。...使用pytest作为依赖项,Poetry 可以在安装后立即运行您的测试。 注意:在编写本教程时,pytest使用Python 3.10运行Poetry不起作用。

    2.3K40

    #小手一抬学Python# Python Web 之 Django 的世界

    Django 是什么 -------------- Django 是一个框架,用于开发网站,使用的编程语言的是 Python,在 Django 中提供了开发常用的模板,让程序员主要精力放在业务部分。...MVC 是三个单词的缩写,分别是(Model -View - Controller),该模式是非常成熟的 Web 应用程序设计模式。...1.2 其它 Python Web 框架 基于 Python 语言的 Web 框架挺多的,常见的有 Webpy、Flask、Bottle、Pyramid、Tornado。...操作系统原理 大学的一门课程,相信很多同学已经都遗忘了,这里只进行提醒,如果希望自己的编程之路,走的更远,建议补充操作系统原理相关知识。 3....字典是有顺序的吗,collections.OrderedDict 是做什么的? 字典的默认值如何设置? 双端队列 collections.deque 学习过吗? 使用 os 模块可以导入模块吗?

    81660

    Hashcode的作用_冻干粉的作用与功效

    3.2、HashCode作用 Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。...这样一来实际调用equals方法的次数就大大降低了,几乎只需要一两次。 (下面1、的实例就为这里的测试实例) 3.3、HashCode是用于查找使用的,而equals是用于比较两个对象的是否相等的。...,现在我们来看看 hash算法 4.1、 HashMap 的 hash 算法的实现原理(为什么右移 16 位,为什么要使用 ^ 位异或) hash值的作用,知道hash是为了获取数组下标的,很明显就知道该...这样的话数组小标就都是0了,这样的结果应该不是我们想看到的,因为这种情况其实出现的次数挺多的。...其实该算法的结果和模运算的结果是相同的。

    2.2K20

    #抬抬小手学Python# Python 中级知识之装饰器

    函数装饰器 装饰器(Decorators)在 Python 中,主要作用是修改函数的功能,而且修改前提是不变动原函数代码,装饰器会返回一个函数对象,所以有的地方会把装饰器叫做 “函数的函数”。...还存在一种设计模式叫做 “装饰器模式”,这个后续的课程会有所涉及。 装饰器调用的时候,使用 @,它是 Python 提供的一种编程语法糖,使用了之后会让你的代码看起来更加 Pythonic。...装饰器基本使用 在学习装饰器的时候,最常见的一个案例,就是统计某个函数的运行时间,接下来就为你分享一下。...,同时证明被装饰的函数在最内层,转换成函数调用的代码如下: d1(d2(func)) 你在这部分需要注意的是,装饰器的外函数和内函数之间的语句,是没有装饰到目标函数上的,而是在装载装饰器时的附加操作。...接下来在回顾一下装饰器的概念: 被装饰的函数的名字会被当作参数传递给装饰函数。 装饰函数执行它自己内部的代码后,会将它的返回值赋值给被装饰的函数。

    38610

    全局作用域、函数作用域、块级作用域的理解

    1.前言 作用域是任何一门编程语言中的重中之重,因为它控制着变量与参数的可见性与生命周期。很惭愧,我今天才深入理解JS的作用域..我不配做一个程序员.....开玩笑,什么时候理解都不晚,重要的是理解了以后能不能深深地扎在记忆里,不能,那就写下来 2.块级作用域 在一个代码块(括在一对花括号中的一组语句)中定义的所有变量在代码块的外部是不可见的。...ES6中新增的概念,在ES5中是没有的,ES5中没有? 没有的时候我们代码也写的好好的,现在新增的概念,我不用不行吗? 来,拋一个典型的问题出来,你就明白块级作用域出现的重要性了。...使用let和const以后会发现,他们声明的变量作用域范围不会超过{}这个圈 for(let i = 0; i < 5; i++){}; console.log("i =",i); //i is...,是可以修改内部属性的,数组同理; 5.总结 主要总结一下块级作用域、以及块级作用域出现的意义,方便更好的记住。

    3.9K10

    索引的作用

    索引用来排序数据以加快搜索和排序操作的速度。想像一本书后的索引(如本书后的索引),可以帮助你理解数据库的索引。 假如要找出本书中所有的“数据类型”这个词,简单的办法是从第1页开始,浏览每一行。...虽然这样做可以完成任务,但显然不是一种好的办法。浏览少数几页文字可能还行,但以这种方式浏览整部书就不可行了。随着要搜索的页数不断增加,找出所需词汇的时间也会增加。 这就是书籍要有索引的原因。...索引按字母顺序列出词汇及其在书中的位置。为了搜索“数据类型”一词,可在索引中找出该词,确定它出现在哪些页中。然后再翻到这些页,找出“数据类型”一词。 使索引有用的因素是什么?很简单,就是恰当的排序。...找出书中词汇的困难不在于必须进行多少搜索,而在于书的内容没有按词汇排序。如果书的内容像字典一样排序,则索引没有必要(因此字典就没有索引)。 数据库索引的作用也一样。...主键数据总是排序的,这是DBMS的工作。因此,按主键检索特定行总是一种快速有效的操作。

    1.2K10
    领券