如何用Python实现大学座位预约

Python46

Original: https://www.cnblogs.com/123456feng/p/16027558.html
Author: 蚂蚁ailing
Title: 如何用Python实现大学座位预约



相关阅读1

Title: 学习 27 门编程语言的长处,提升你的 Python 代码水平

Python猫注:Python 语言诞生 30 年了,如今的发展势头可谓如火如荼,这很大程度上得益于其易学易用的优秀设计,而不可否认的是,Python 从其它语言中偷师了不少。本文作者是一名资深的核心开发者,他广博的视野和精准的认识,让我对 Python 的设计了解得更为全面,同时,他"利用自豪感而非恐惧感"的说法,传达出来的是"专注于自我的进步,不嫉妒他人的成功"的原则,对我也很有帮助。原文写于 2015 年,躺在我的收藏夹里很久很久了,如今顺利翻译掉,这是一件能提升自豪感的有意义的事。最后祝大家开卷有益,读有所获。

作者:Nick Coghlan

声明:本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。

  • 拓宽我们的视野
  • 过程式编程:C、Rust、Cython
  • 面向对象的数据模型:Java、C#、Eiffel
  • 面向对象的 C 派生:C++、D
  • 面向数组的数据处理:MATLAB/Octave、Julia
  • 统计数据分析:R
  • 计算管道建模:Haskell、Scala、Clojure、F#
  • 事件驱动编程:JavaScript、Go、Erlang、Elixir
  • 渐变类型:TypeScript
  • 动态元编程:Hy、Ruby
  • 务实问题解决:Lua、PHP、Perl
  • 编程思维:Scratch、Logo

作为世界上最流行的编程语言之一的共同设计者,我经常看到一个令人沮丧的行为(在 Python 社区和其它社区):有影响力者试图激发人们对"败给"其它开源社区的恐惧,从而调动人们对社区作贡献的积极性。(我自己偶尔也会犯这种错误,这让我更容易发现其他人是否也落入了同样的陷阱)。

虽然学习其它编程语言社区的经验是件好事,但基于恐惧的方法来激励行动是有严重问题的,因为这会刺激本社区成员将其它社区的人视为争夺开源贡献者关注的敌人,而不是作为在更大挑战中的潜在盟友(推动软件开发艺术发展)。这还会告诉那些喜欢其它语言的人,在一个把他们以及他们的同伴视为"敌对竞争对手"的社区里,他们是不受欢迎的。

事实上,我们希望有多种多样的跨平台的开源编程语言供选择,因为编程语言是思考的首要工具——使我们能够以明确的方式表达我们的想法,从而让计算机也能够理解。如果有人找到了一种适合大脑的语言,能够解决眼前的问题,那就太好了,不管他们选择的是哪种(些)语言。

因此,我对 Python 社区有三个具体的请求,以及一个较为宽泛的建议。首先,我的请求是:

我的宽泛的建议针对那些遇到了 Python 核心程序的限制,并因此希望探索 Python 中可用的"思考工具"的人。这个建议就是:

拓宽我们的视野

在开发 Python 核心程序的过程中,我们会做的一件事是查看其它语言中解决了我们正面临的问题的特性,看看是否有办法既吸收它们,又使 Python 代码更易于阅读和编写。这意味着学习其它专注于特定软件开发风格的编程语言,可以帮助我们在使用 Python 时,提高对这种编程风格的理解。

为了提供帮助,我在下面列出了一些值得探索的领域,以及可能加深对这些领域的理解的语言。我尽可能链接了维基百科的页面,而不是直接链接到语言的主页,因为维基百科经常会提供有趣的历史背景,当你为了教育目的学习一门新的编程语言,而不是直接用于实际应用时,这些背景值得去了解。

虽然我知道这些语言中的大部分(并且在开发生产系统时使用过几种),但这份推荐清单中还包括我间接知道的语言(通常是通过阅读教程和设计文档,或者通过与我信任的人交谈,以获取对一门语言的优点与缺陷的洞察)。

还有很多本应该放但没有放进名单里的语言语言,所以下面罗列的仅是我感兴趣的部分(例如,我主要感兴趣的是 Linux、Android 和 Windows 的生态系统,所以我舍弃了 Apple 生态中的 Objective-C 和 Swift 语言,另外我也不熟悉 Processing 这种专注于艺术的编程语言,无法想象学习它们能教给 Python 开发者什么)。

过程式编程:C、Rust、Cython

Python 默认的执行模型是过程式的:从主模块的顶部开始,逐条语句地执行。Python 对下面介绍的所有数据和编程建模方法的支持,都建立在这种过程式的执行模型上。

C 语言仍然是无可争议的底层过程式编程的统治者。它是 Python 官方解释器以及 Linux 操作系统内核的核心实现语言。作为一名软件开发人员,学习 C 语言是更多地了解底层硬件的最好方法之一——C 语言经常被称为"可移植的汇编语言",对于任何新的 CPU 架构来说,第一个交叉编译的应用程序将是 C 编译器。

Rust 是一种相对较新的编程语言,由 Mozilla 创造。Rust 的目标是吸取整个行业在不使用 C 时遇到的所有教训,设计一门能与 C 库相互操作的新语言,提供底层的系统编程所需的对硬件用途的精确控制,但使用不同的编译方法来进行数据建模和内存管理,从结构上消除许多困扰 C 程序的常见缺陷(如缓冲区溢出、指针重复释放错误、空指针访问和线程同步问题)。经过培训和早期的专业经验,我是一名嵌入式系统工程师,而 Rust 是我见过的第一种看起来有潜力缩减当前由 C 语言和自定义汇编代码所主导的生态位的新语言。

Cython 也是一种较底层的过程式语言,但与 C 和 Rust 等通用语言不同,Cython 专门用于编写 CPython 的扩展模块。为了实现这一目标,Cython 被设计为 Python 的超集,允许程序员选择何时支持纯 Python 语法以获得灵活性,何时支持 Cython 的语法扩展,以便生成在速度和内存效率方面能与原生 C 代码相当的代码。

学习这些语言,你可以加深在内存管理、算法效率、二进制接口(ABI)兼容性、软件可移植性、以及将源代码转换为运行系统等实践方面的见解。

面向对象的数据模型:Java、C#、Eiffel

编程最主要做的事情之一是为现实世界建模,最流行的做法是提供原生的语法支持面向对象编程:对数据作结构化的分组,使用类方法操作那些数据结构。

Python 本身是经过精心设计的,无需先编写自己的类就可以使用面向对象的特性。并不是每种语言都采用这种方法——本小节中列出的语言都认为学习面向对象设计是使用该语言的必要条件。

在 20 世纪 90 年代中后期,Sun Microsystems 公司进行了一次大规模的市场推广,Java 成为了许多高等院校中计算机科学入门课的默认语言。虽然如今在许多教学活动中,Java 已经被 Python 所取代,但它仍然是开发商用程序时最流行的语言之一。还有一些基于通用 JVM(Java 虚拟机)运行时的语言,例如 Python 的 Jython 实现。Android 系统的 Dalvik 和 ART 环境则是基于 Java 开放的 API 二次开发。

C# 在许多方面与 Java 相似,在 Sun 和微软未能解决他们关于微软的 Java 实现(即 J++)的业务差异之后,C# 成为了一种替代方案。像 Java 一样,这是一门开发商用程序的流行语言,还有其它一些语言共享着 .NET CLR(公共语言运行时),包括 Python 的 IronPython 实现 (最早的 IronPython 1.0 的核心组件被提取成了与语言无关的 .NET 动态语言运行库)。在很长一段时间里,. NET 是一种专用于 Windows 的技术,而 mono 作为一种跨平台的开源实现,但微软在 2015 年初转向了开源生态系统战略

与此清单中的大多数语言不同,我不推荐在日常工作中使用 Eiffel。但是,我依然推荐学习它,因为它教会了我许多关于良好的面向对象设计的知识,比如它认为"可验证的正确性"是应用程序的设计目标。(学习 Eiffel 也让我明白了为什么"可验证的正确性"并不是大多数软件开发时的设计目标,因为可验证的正确软件实在不能很好地处理模糊性,并且完全不适用于那些你不清晰相关的约束条件却需要给自己留下足够的回旋余地,以便能够通过迭代开发找出更具体的细节的情况。)

学习这些语言,你可以深入了解继承模型、契约式设计、类不变性(class invariant)、前置条件、后置条件、协方差、逆变、类方法解析顺序、泛型编程以及其它适用于 Python 类型系统的概念。还有很多标准库模块和第三方框架使用这种"看得见的面向对象"的设计风格,比如 unittest 和 logging 模块,以及 Django 框架中基于类的视图。

面向对象的 C 派生:C++、D

CPython 运行环境可以被视为一个"带有对象的 C"的编程环境——在其核心,CPython 使用 C 的方法实现面向对象编程,即定义 C 结构体来保存相关的数据,并将结构体的实例作为第一个参数传递给函数,然后对数据进行操作(这就是 CPython C API 中全能的 PyObject * 指针)。这种设计模式对应到 Python 层面,就是实例方法的显式 self 参数以及类方法的显式 cls 参数。

C++ 的目标是保持与 C 语言源代码的完全兼容,同时添加更高级的特性,例如支持原生的面向对象编程和基于模板的元编程。它是出了名的冗长和难以编程(尽管 2011 年对语言标准的更新解决了许多糟糕的问题),但它也是许多领域的编程首选,包括 3D 建模的图形化引擎和跨平台应用的开发框架(例如 Qt)。

语言也很有趣,因为它与 C++ 的关系类似于 Rust 与 C 的关系:它的目标是保留 C++ 的大多数令人满意的特性,同时也避免它的许多问题(如缺乏内存安全)。不像 Rust,D 不是一种从头开始设计的新编程语言——恰恰相反,D 是 C++ 的衍生物,虽然它不像 C++ 一样是一个严格的 C 超集,但它遵循着一个设计原则,即任何落入 C 和 D 的共同子集的代码,在两种语言中必须要表现一致。

学习这些语言,你可以更深入地了解将高级语言的特性与底层 C 运行时模型相结合的复杂性。学习 C++,在 Python 中操作用 C++ 编写的库和工具包时,也可能会有帮助。

面向数组的数据处理:MATLAB/Octave、Julia

面向数组的编程是为了支持数值编程模型:那些基于矩阵代数和相关数值方法的模型。

虽然 Python 的标准库不直接支持这一点,但 Python 在设计时考虑了面向数组的编程,并专门为第三方 NumPy 库和类似的面向数组的工具添加了一系列语法和语义特性。

在许多方面,Python 的科学技术栈 被作为商业 MATLAB 的替代方案,后者被广泛用于科学和工程领域的建模、仿真和数据分析。GNU Octave 是一个开源的方案,目标是兼容 MATLAB 代码的语法,允许人们对照这两种面向数组的编程方法。

学习这些语言,你可以了解 Python 的科学技术栈,以及有机会通过像 OpenCL 和 Nvidia 的 CUDA 这种技术来探索硬件层面的并行执行,并通过 Apache Spark 和专用于 Python 的 Blaze 来了解分布式数据处理。

统计数据分析:R

随着对大型数据集的接触越来越多,对灵活处理这些数据集的分析工具的需求也越来越大。R 编程语言就是这样的工具,它特别关注统计性的数据分析和可视化。

计算管道建模:Haskell、Scala、Clojure、F

面向对象的数据建模和面向数组的数据处理主要关注静态的数据,无论是以命名的属性形成集合的形式,还是以结构化数据形成数组的形式。

相比之下,函数式编程语言强调以计算流的形式对动态数据进行建模。即便只学习函数式编程的基本知识,也能极大地改进数据转换操作的结构,即使在其它过程式、面向对象或面向数组的程序中也是如此。

Scala 是一种(存疑的)JVM 函数式编程语言,加上 Java、Python 和 R,它们是 Apache Spark 数据分析平台的四种主要编程语言。尽管 Scala 的设计偏重于函数式编程,但它的语法、数据模型和执行模型的设计也最大限度地降低 Java 程序员使用的门槛(因此所谓"存疑的"——其实是因为,Scala 最好被归类为一门具有强函数式编程支持的面向对象编程语言)。

Clojure 是另一种基于 JVM 的函数式编程语言,是 Lisp 的一种方言。它之所以出现在这份清单里,因为它是 Python 的 toolz 函数式编程工具包的灵感来源。

学习这些语言,你可以深入了解 Python 自己的计算管道建模工具,包括容器推导式、生成器、生成器表达式、functools 和 itertools 标准库,以及第三方的 Python 函数工具包,比如 toolz。

事件驱动编程:JavaScript、Go、Erlang、Elixir

计算管道是处理数据转换和分析问题的一种极佳的方法,但许多问题需要程序作为持久性服务运行,等待事件发生,然后处理那些事件。在这类服务中,为了能够同时容纳多个用户(或多个操作),通常必须要并发地处理多个事件。

JavaScript 最初是作为 Web 浏览器的事件处理语言而开发的,允许网站开发者在本地响应客户端操作(如鼠标点击和按键敲击)和事件(如网页完成了渲染)。所有现代浏览器都支持它,它与 HTML5 领域对象模型(DOM)一起,已经成为一种定义用户界面外观和行为的事实上的标准。

Erlang 是由爱立信设计的专用语言,用于创建高度可靠的电话交换机以及类似的设备。它被用于开发出了流行的 RabbitMQ 消息代理中间件。Erlang 使用 Actor 模型作为核心的并发原语,在执行线程之间传递消息,而不是让它们直接共享数据。虽然我从未用过 Erlang 编程,但我的第一份全职工作涉及一个基于 Actor 的 C++ 并发框架,而该框架由一名前爱立信工程师开发,另外,我自己也开发了一个这样的框架,基于德州仪器(Texas Instrument)的轻量级 DSP/BIOS 运行时(现在的 TI-RTOS)里面的 TSK (Task)和 MBX (Mailbox)原语。

Elixir 出现在这份清单里,因为它被设计运行在 Erlang VM 上,提供了与 Erlang 相同的并发语义,同时还提供了一系列在语言层面上的特性,打造出一个更加全面的环境,更有可能吸引其它语言例如 Python、Java 或 Ruby 的开发者。

学习这些语言,你可以深入了解 Python 对并发和并行的支持,包括原生协程、基于生成器的协程、concurrent.futures 和 asyncio 标准库模块、第三方网络服务开发框架(如 twisted 和 Tornado)、Django 中引入的 channel 概念、GUI 框架中的事件处理循环。Python进阶

渐变类型:TypeScript

在 Python 3.5 中出现的一个比较有争议的特性是新引入的 typing 模块,它为 Python 生态带来了一个支持渐变类型的标准词典。

Python猫注:Gradual typing 是 Jeremy Siek 和 Walid Taha 在 2006 年提出的理论,允许程序中同时出现动态类型与静态类型。国内有人将其翻译为"渐进类型"、"渐近类型"、"渐进定型"、"动静混合类型"等等,但我觉得并不够好。 渐变类型也许是我的首创,借鉴自 Photoshop 的渐变颜色,表达出从动态类型到静态类型的过渡(或者说交融共处的)特点。"渐变"一词有打破界限分明的状态(如大小、远近、明暗),从而达到中和状态的含义。

对于那些主要从 C、C++ 和 Java 等语言中接触静态类型的人来说,这似乎是一个令人吃惊的糟糕特性(因此引发了争议)。

微软的 TypeScript 为 Javascript 程序提供了渐变类型,因此它能更好地解释这个概念。TypeScript 代码会被编译成 JavaScript 代码(然后就不包含运行时类型检查),流行的 JavaScript 库的 TypeScript 注解会维护在专用的 DefinitelyTyped 仓中。

正如 Chris Neugebauer 在澳大利亚 PyCon 演讲 中指出的,这很像是 Python 与 typeshed 类型提示库、以及像 mypy 这种类型推断和分析工具之间的关系。

在本质上,TypeScript 和 Python 中的类型提示都是编写特定种类的测试的方式,要么使用单独的文件(就像普通测试一样),要么嵌入在代码体中(就像静态类型语言中的类型声明一样)。对于这两种情况,你都要运行一个单独的命令,来检查其余代码是否与已添加的类型断言一致(对于 TypeScript,这是在编译成 JavaScript 时隐式地发生的;对于 Python 的类型提示,这是一个完全可选的静态分析任务)。

动态元编程:Hy、Ruby

C、C++、C# 和 Java 等语言的学习者在接触 Python 时,经常感到不安的一个特性是"代码即数据"(code is data):函数和类之类的东西是运行时对象,可以像其它对象一样被操纵。

Hy 是一种 Lisp 方言,可以同时在 CPython VM 和 PyPy VM 上运行。Lisp 及其方言将"代码即数据"的概念推到了极致,因为 Lisp 代码由嵌套列表组成,这些列表描述了要执行的操作(这门语言的名称本身就代表列表处理器"LISt Processor")。Lisp 风格语言的强大之处在于,它让你非常容易编写出自己的领域特定代码。Lisp 风格语言的最大缺点是,它让你非常容易编写出自己的领域特定代码,但这可能导致每个人写的代码变得难以阅读。

Ruby 语言在许多方面与 Python 相似,但对于 Python 中"支持但不鼓励"的动态元编程特性,Ruby 社区则相对开放。这包括在已有类定义中添加新的方法,以及使用闭包来实现语言的核心结构,例如迭代。(Python猫注:关于两种语言中迭代结构的实现对比,可阅读 这篇文章

学习这些语言,可以让你深入了解 Python 自己的动态元编程特性,包括函数和类装饰器、猴子补丁、unittest.mock 标准库、以及像 wrapt 这样的第三方对象代理模块。(我不知道学习哪种语言可以深入了解 Python 的元类系统,如果有人在这方面有任何建议,请在评论中告知我。Python 的元类驱动着很多特性,例如核心的类型系统、抽象基类、枚举类型和渐变类型表达式的运行时求值。)

务实问题解决:Lua、PHP、Perl

主流的编程语言并不是孤立存在的——它们作为一个更大的生态系统的一部分而存在,这个生态系统由发行者(企业和社区组织)、终端用户、框架开发者、工具开发者、教育工作者等等组成。

Lua 是一种流行的编程语言,作为一种脚本引擎嵌入到大型程序中。标志性的例子是它被魔兽世界游戏用来编写客户端插件,它也被嵌入到了许多 Linux 发行版所使用的 RPM 组件中。与 CPython 相比,Lua 运行时的大小通常只有 CPython 的十分之一,而且由于较弱的自省能力,它更容易与程序的其它部分以及服务器的操作系统隔离开来。Lua 社区对 Python 生态的一个显著贡献是 LuaJIT FFI(Foreign Function Interface 外来函数接口),它被 CPython 和 PyPy 采用,作为支持 JIT 的 cffi 接口库的基础。

PHP 是另一种流行的编程语言,作为 Linux-Apache-MySQL-PHP LAMP 技术栈中的"P"而崛起,因为它专注于生成 HTML 页面,并且在早期的虚拟专用服务器(Virtual Private Server,简称 VPS) 提供商中广泛使用。尽管其设计上有诸多的概念性缺陷让人感到绝望,但它如今是几个极其流行的开源 Web 服务的基础,包括 Drupal 内容管理系统、Wordpress 博客引擎和维基百科的 MediaWiki 引擎。PHP 还支撑着一些重要的服务,比如 Ushahidi 平台,它是一个开源的社会化新闻发布社区。

像 PHP 一样,Perl 也是基于 Linux 而崛起。但跟 PHP 专门作为 Web 开发平台不同,Perl 是系统管理员的工具,在基于文本的 Linux 操作系统中,它使用正则表达式将命令的输出转成字符串,并进行操作。当 sh、awk 和 sed 都无法胜任某些任务时,Perl 出现并派上了用场。

学习这些语言,在编程语言设计方面,不大可能获得什么漂亮审美或者优雅概念。学习它们,最可能的是了解编程语言在现实中是如何被分发和采用的,以及这些在多大程度上取决于偶然的机会、历史意外事件、以及发行商在系统中默认集成而降低了使用门槛,而不是取决于语言本身固有的能力。Python进阶

特别是,它可以提供对以下项目的重要性的洞察:CKAN、OpenStack NFV、Blender、SciPy、OpenMDAO、PyGMO、PyCUDA、树莓派基金会和 Python 被大量商业组织采用,以保护它们在 Python 生态中不断的投入。

编程思维:Scratch、Logo

我经常跟函数式编程以及面向对象编程的拥护者们讨论,他们声称这类语言就像过程式语言一样易于学习。

如果我们谈论的是通过嵌入式编程(例如机器人)进行教学,在软件中建模的对象都有现实世界的对应物,比如学生们可以触摸的传感器、马达和继电器,那么,那我会认为 OOP 的人有一定的道理。

但是对于其他人,我现在有一个标准的挑战:拿起一本烹饪书,把其中一个食谱翻译成你认为是容易学习的编程语言,然后找一个能理解烹饪书中语言的学生,让其按照翻译好的食谱操作。其实,他们不需要真正地操作下去——只需做一个思想实验,就足以意识到他们声称的"很容易学"是假设了多少先验知识。(我很期待看到学术研究人员在现实中做这种研究——我真的很希望看到结果)

另一种解决这个问题的方法是去学习那些实际上被用来教孩子们编程思维的语言。

其中最受欢迎的是 Scratch,它使用了拖放编程界面,让学生们操纵一个独立的图形环境,它里面的电子图形可以移动,并响应环境中的事件。像 Scratch 这样的图形环境就相当于我们用来教孩子阅读和书写的图画书。

使用特殊的教育语言来操作图形环境的想法并不新鲜,最早的例子之一是 1960 年代发明的 Logo 环境。在 Logo 中(以及类似的环境,如 Python 的 turtle 模块),你主要打交道的是一个"乌龟(turtle)",你可以通过绘制线条来指导它移动和修改环境。这样的话,命令序列、重复和状态(例如,"起笔"、"落笔")可以基于人们的自然直觉来使用("想象你是那只乌龟,如果你右转 90 度会发生什么?")

回顾并重新学习这些语言,有助于有经验的程序员放下固化的观念:它们所用的概念可以提醒我们,这些概念是我们如今认为理所当然的,但初学者们需要先学习。当这样做的时候,我们能够更好地与学生和其他初学者们相处,因为我们更有可能打开逻辑的枷锁,也不会再忽略那些有必要的学习步骤。

译者附注:以上就是全部的译文。我还翻译过不少优质的文章,分享近期的几篇如下:

如果你觉得本文有帮助,请点赞+关注支持一下啦,谢谢!

Original: https://www.cnblogs.com/pythonista/p/15685176.html
Author: 豌豆花下猫
Title: 学习 27 门编程语言的长处,提升你的 Python 代码水平

相关阅读2

Title: 极客编程python入门-条件控制2/7

极客编程python入门-条件控制2/7

精选原创

最爱大苹果博主文章分类:极客编程python学习 ©著作权

文章标签 条件控制语句 python学习 文章分类 Python 后端开发 yyds干货盘点

©著作权归作者所有:来自51CTO博客作者最爱大苹果的原创作品,请联系作者获取转载授权,否则将追究法律责任

条件控制语句

任何编程语言都有条件控制语句,下面我们学习下条件控制语句

如何用Python实现大学座位预约

流程图如上

逻辑也是比较简单

如何用Python实现大学座位预约

代码为

if condition_1:    statement_block_1elif condition_2:    statement_block_2else:    statement_block_3

代码执行过程

如何用Python实现大学座位预约

我们将很多项目代码拆分开来

条件控制语句,经常使用。

  • 收藏
  • 评论
  • *举报

上一篇:web安全入门-漏洞扫描原理与报告

下一篇:极客编程python入门-流程控制3/7

Original: https://blog.51cto.com/apple0/5553306
Author: 最爱大苹果
Title: 极客编程python入门-条件控制2/7

相关阅读3

Title: Python----魔法函数__len__和__contains__的用法

推荐文章

2023年,摸鱼计划系列活动又跟大家见面了,我们活动规则不变,福利升级! 新的一年,继续把工作学习中的bug处理、碎片知识,统统记录到博客里。留下自己在技术之路的成长足迹。
推荐原创51CTO博客13天前10000+阅读11点赞733评论1收藏

在51CTO博客成功发布第一篇博文,可领取新人福利,奖品三选一。来分享属于自己的技术踩坑经验吧!
推荐原创51CTO博客95天前10000+阅读16点赞11评论5收藏

;
原创Marydon2小时前132阅读点赞评论收藏

出现网关不亮灯的原因就是配置问题,仔细检查网关和微端程序的IP地址有没有填错,如有填错更改过来即可。​微端无连接不更新的问题解决方法​1、端口不对​微端没有更新,玩家进入游戏是地图跟装备都看不见,是漆黑的,微端显示连接失败,好吧,那么从头开始检查,检查什么地方呢,第一检查微端网关程序,看看上面是否全部显示连接成功了,如果是成功的,那么看一下列表里面的端口对不对的上​服务器IP都是连接成功的,没有连
原创会开服的小杰2小时前147阅读1点赞评论收藏

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!作者|慕课网精英讲师 然冬基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(253 -1) 到 253 -1)。——MDN在 JavaScript 只有浮点数(可以理解成带有小数点的数)。数字就是我们日常使用的数字,在 JavaScript 中默认是十进制的。10;-1;1.1;10.0;+0;-0;99999
原创imooc慕课君2小时前154阅读点赞评论收藏

本篇介绍下flea-jersey模块的文件下载功能
原创Huazie2小时前143阅读点赞评论收藏

_app.js只加入一个 ThemeProvide 具体在 ThemeProvide 中import type { AppProps } from "next/app
原创JediHongbin2小时前146阅读点赞评论收藏

概念数据库连接池其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。好处1.节约资源2.用户访问高效实现标准接口:DataSource javax.sql包下的方法:获取连接:getConnection()归还连接:Connection.close()。如果连接对
原创共饮一杯无2小时前138阅读1点赞评论1收藏

项目中需要自定义icon,在项目中通用html使用css样式.icon-save { /使用自己的图片来替换/ background: url('图片地址') center no-repeat; background-size: contain;}.icon-save::before { /*before
原创不叫猫先生3小时前138阅读点赞评论收藏

二叉树的锯齿形层序遍历(树、广度优先搜索)给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树3,9,20,null,null,15,7,3/\920/\157返回锯齿形层序遍历如下:3,20,9,15,7解答:javapublicclassTreeNode{intval;TreeNodeleft;TreeNode
原创共饮一杯无3小时前141阅读1点赞评论1收藏

1.情景展示 where限制条件后面如果想要加select语句的话,如何实现? 2.原因分析 通常情况下,where后面跟的是:clo
原创Marydon3小时前150阅读点赞评论收藏

编码进化回忆上次内容上次 研究了 视频终端的 演化 从VT05 到 VT100从 黑底绿字 到 RGB 24位真彩色形成了 VT100选项从而 将颜色 ​​数字化​​ 了生活中我们更常用 10个数字 但是 计算机中 用二进制日常计数的十进制数 是如何存储进计算机的呢??从10进制到2进制日常生活中 为什么用10进制? 是因为 人的生理结构计算机中 使用2进制 是因为 计算机的生理结构 电灯、开关
原创overmind19803小时前134阅读点赞评论收藏

程序员的日历,真的不用上网查,直接一条命令就可以默认显示本月的日历(20230214)bashcal二月2023日一二三四五六12345678910111213141516171819202122232425262728显示指定年份的日历bashcaly20232023一月二月三月日一二三四五六日一二三四五六日一二三四五六12345671234123489101112131456789101156
原创彭世瑜3小时前140阅读点赞评论收藏

效果如下图所示:我们实际上使用了2D来模拟3D效果。!(https://s2.51cto.com/images/blog/202302/14095121_63eae919a42774018.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20
原创JerryWang汪子熙3小时前148阅读点赞评论收藏

写在前面+K9s是一个基于终端UI的K8S管理工具+博文内容为k9s在windows、Linux以及docker安装Demo+简单的热键使用。+理解不足小伙伴帮忙指正
原创山河已无恙3小时前136阅读点赞评论收藏

写在前面+kubebox是一个轻量的k8s管理工具,可以基于命令行终端或Web端+博文内容涉及:kubebox不同方式的安装下载,简单使用。+如果希望轻量一点,个人很推荐这个工具,轻量,而且使用简单。+理解不足小伙伴帮忙指正我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢赫尔曼·黑塞《德米安》简单介绍Kubebox是一个类似k9s的基于命令行终端的k8s管理工具,可以直接下载可执行
原创山河已无恙3小时前143阅读点赞评论收藏

本文将给大家分享Java并发编程相关的知识点,具体将对Java常见的并发编程方式和手段进行总结,以便可以从使用角度更好地感知Java并发编程带来的效果。
原创京东云开发者3小时前146阅读点赞评论收藏

软件开发入门教程网Bootstrap4 面包屑导航(Breadcrumb)面包屑导航是一种基于网站层次信息的显示方式。以博客为例,面包屑导航可以显示发布日期、类别或标签。它们表示当前页面在导航层次结构内的位置,是在用户界面中的一种导航辅助。Bootstrap 中的面包屑导航是一个简单的带有 .breadcrumb class 的无序列表。分隔符会通过 CSS(bootstrap
原创雪奈椰子3小时前136阅读点赞评论收藏

一、前言 - webpack热更新​​Hot Module Replacement​​,简称​​HMR​​,无需完全刷新整个页面的同时,更新模块。​​HMR​​的好处,在日常开发工作中体会颇深:节省宝贵的开发时间、提升开发体验。刷新我们一般分为两种:一种是页面刷新,不保留页面状态,就是简单粗暴,直接​​window.location.reload()​​。另一种是基于​​WDS (Webpack-
原创Seattle小小瓜3小时前136阅读点赞评论收藏

1.背景Spring的核心思想就是容器,当容器refresh的时候,外部看上去风平浪静,其实内部则是一片惊涛骇浪,汪洋一片。Springboot更是封装了Spring,遵循约定大于配置,加上自动装配的机制。很多时候我们只要引用了一个依赖,几乎是零配置就能完成一个功能的装配。我非常喜欢这种自动装配的机制,所以在自己开发中间件和公共依赖工具的时候也会用到这个特性。让使用者以最小的代价接入。想要把自动装
原创Seattle小小瓜3小时前135阅读点赞评论收藏

一. pyinstaller和Nuitka使用感受1.1 使用需求这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller和nuitka。这2个工具同时都能满足项目的需要:隐藏源码。这里的pyinstaller是通过设置key来对源码进行加密的;而nuitka则是将python源码转成C++(这里得到的是二进制的
原创LinkSLA3小时前146阅读点赞评论收藏

本文主要讲述了Android客户端模块化开发的痛点及解决方案,详细讲解了方案的实现思路和具体实现方法。
原创vivo互联网3小时前136阅读点赞评论收藏

Original: https://blog.51cto.com/u_11160105/5514947
Author: redrose2100
Title: Python----魔法函数__len__和__contains__的用法