Python筑基之旅-溯源及发展

目录

一、Python的起源

二、Python的版本更替及变化

三、Python的优缺点

四、Python的发展方向

五、Python之禅

六、推荐专栏/主页:

1、Python函数之旅:Functions

2、Python算法之旅:Algorithms

3、个人主页:https://myelsa1024.blog.csdn.net/

​​​​​​​

一、Python的起源

        Python的起源可以追溯到1989年,当时荷兰计算机科学家Guido van Rossum在阿姆斯特丹的CWI(荷兰计算机科学研究所)工作,他曾参与开发过一门名为ABC的语言,然而这门语言并未能成为主流,因此,Guido van Rossum开始考虑开发一门更好的语言。

        在1989年的圣诞节期间,Guido van Rossum秉承着“让编程变得有趣”的原则,开发了一门新的解释型语言,并将其命名为Python。Python的名字来源于Guido van Rossum所喜爱的英国电视剧《Monty Python's Flying Circus》,他希望这门语言能像这部剧一样,让编程变得有趣和愉快。

        Python本身是由诸多其他语言发展而来,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell和其他的脚本语言等等,Python提供了高效的高级数据结构,还能简单有效地面向对象编程,Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。

        随着版本的不断更新和语言新功能的添加,Python逐渐被用于独立的、大型项目的开发;Python解释器易于扩展,可以使用C、C++或其他可以通过C调用的语言扩展新的功能和数据类型;Python也可用于可定制化软件中的扩展程序语言;Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

        如今,Python已经成为最受欢迎的程序设计语言之一,并在各个领域得到了广泛的应用。

二、Python的版本更替及变化

        Python的版本更替历史可以追溯到1991年,当时Guido van Rossum发布了Python的第一个版本。自此以后,Python经历了多个版本的更新和迭代,逐渐发展成为一种流行且广泛使用的编程语言。

        Python的主要版本更迭及变化如下:

Python版本更新日期对应版本文档链接
Python 3.12.32024/04/093.12.3 Documentation
Python 3.12.22024/02/063.12.2 Documentation
Python 3.12.12023/12/083.12.1 Documentation
Python 3.12.02023/10/023.12.0 Documentation
Python 3.11.92024/04/023.11.9 Documentation
Python 3.11.82024/02/063.11.8 Documentation
Python 3.11.72023/12/043.11.7 Documentation
Python 3.11.62023/10/023.11.6 Documentation
Python 3.11.52023/08/24https://docs.python.org/release/3.11.5/
Python 3.11.42023/06/063.11.4 Documentation
Python 3.11.32023/04/053.11.3 Documentation
Python 3.11.22023/02/083.11.2 Documentation
Python 3.11.12022/12/063.11.1 Documentation
Python 3.11.02022/10/243.11.0 Documentation
Python 3.10.142024/03/193.10.14 Documentation
Python 3.10.132023/08/243.10.13 Documentation
Python 3.10.122023/06/063.10.12 Documentation
Python 3.10.112023/04/053.10.11 Documentation
Python 3.10.102023/02/08https://docs.python.org/release/3.10.10/
Python 3.10.92022/12/063.10.9 Documentation
Python 3.10.82022/10/083.10.8 Documentation
Python 3.10.72022/09/063.10.7 Documentation
Python 3.10.62022/08/08https://docs.python.org/release/3.10.6/
Python 3.10.52022/06/063.10.5 Documentation
Python 3.10.42022/03/243.10.4 Documentation
Python 3.10.32022/03/163.10.3 Documentation
Python 3.10.22022/01/143.10.2 Documentation
Python 3.10.12021/12/063.10.1 Documentation
Python 3.10.02021/10/043.10.0 Documentation
Python 3.9.192024/03/193.9.19 Documentation
Python 3.9.182023/08/243.9.18 Documentation
Python 3.9.172023/06/063.9.17 Documentation
Python 3.9.162022/12/063.9.16 Documentation
Python 3.9.152022/10/113.9.15 Documentation
Python 3.9.142022/09/063.9.14 Documentation
Python 3.9.132022/05/173.9.13 Documentation
Python 3.9.122022/03/243.9.12 Documentation
Python 3.9.112022/03/163.9.11 Documentation
Python 3.9.102022/01/143.9.10 Documentation
Python 3.9.92021/11/153.9.9 Documentation
Python 3.9.82021/11/053.9.8 Documentation
Python 3.9.72021/08/303.9.7 Documentation
Python 3.9.62021/06/283.9.6 Documentation
Python 3.9.52021/05/03https://docs.python.org/release/3.9.5/
Python 3.9.42021/04/043.9.4 Documentation
Python 3.9.32021/04/023.9.3 Documentation
Python 3.9.22021/02/193.9.2 Documentation
Python 3.9.12020/12/083.9.1 Documentation
Python 3.9.02020/10/053.9.0 Documentation
Python 3.8.192024/03/19https://docs.python.org/release/3.8.19/
Python 3.8.182023/08/243.8.18 Documentation
Python 3.8.172023/06/063.8.17 Documentation
Python 3.8.162022/12/06https://docs.python.org/release/3.8.16/
Python 3.8.152022/10/113.8.15 Documentation
Python 3.8.142022/09/063.8.14 Documentation
Python 3.8.132022/03/163.8.13 Documentation
Python 3.8.122021/08/303.8.12 Documentation
Python 3.8.112021/06/283.8.11 Documentation
Python 3.8.102021/05/033.8.10 Documentation
Python 3.8.92021/04/023.8.9 Documentation
Python 3.8.82021/02/193.8.8 Documentation
Python 3.8.72020/12/213.8.7 Documentation
Python 3.8.62020/09/233.8.6 Documentation
Python 3.8.52020/07/203.8.5 Documentation
Python 3.8.42020/07/133.8.4 Documentation
Python 3.8.32020/05/133.8.3 Documentation
Python 3.8.22020/02/243.8.2 Documentation
Python 3.8.12019/12/183.8.1 Documentation
Python 3.8.02019/10/143.8.0 Documentation
Python 3.7.172023/06/063.7.17 Documentation
Python 3.7.162022/12/063.7.16 Documentation
Python 3.7.152022/10/113.7.15 Documentation
Python 3.7.142022/09/063.7.14 Documentation
Python 3.7.132022/03/163.7.13 Documentation
Python 3.7.122021/09/043.7.12 Documentation
Python 3.7.112021/06/283.7.11 Documentation
Python 3.7.102021/02/153.7.10 Documentation
Python 3.7.92020/08/173.7.9 Documentation
Python 3.7.82020/06/273.7.8 Documentation
Python 3.7.72020/03/103.7.7 Documentation
Python 3.7.62019/12/183.7.6 Documentation
Python 3.7.52019/10/153.7.5 Documentation
Python 3.7.42019/07/083.7.4 Documentation
Python 3.7.32019/03/253.7.3 Documentation
Python 3.7.22018/12/243.7.2 Documentation
Python 3.7.12018/10/203.7.1 Documentation
Python 3.7.02018/06/273.7.0 Documentation
Python 3.6.152021/09/043.6.15 Documentation
Python 3.6.142021/06/283.6.14 Documentation
Python 3.6.132021/02/153.6.13 Documentation
Python 3.6.122020/08/173.6.12 Documentation
Python 3.6.112020/06/273.6.11 Documentation
Python 3.6.102019/12/183.6.10 Documentation
Python 3.6.92019/07/023.6.9 Documentation
Python 3.6.82018/12/243.6.8 Documentation
Python 3.6.72018/10/203.6.7 Documentation
Python 3.6.62018/06/273.6.6 Documentation
Python 3.6.52018/03/283.6.5 Documentation
Python 3.6.42017/12/193.6.4 Documentation
Python 3.6.32017/10/033.6.3 Documentation
Python 3.6.22017/07/173.6.2 Documentation
Python 3.6.12017/03/213.6.1 Documentation
Python 3.6.02016/12/23Overview — Python 3.6.0 documentation
Python 3.5.102020/09/053.5.9 Documentation
Python 3.5.82019/11/013.5.8 Documentation
Python 3.5.72019/03/183.5.7 Documentation
Python 3.5.62018/08/083.5.6 Documentation
Python 3.5.52018/02/043.5.5 Documentation
Python 3.5.42017/07/253.5.4 Documentation
Python 3.5.32017/01/173.5.3 Documentation
Python 3.5.22016/06/27Overview — Python 3.5.2 documentation
Python 3.5.12015/12/07Overview — Python 3.5.1 documentation
Python 3.5.02015/09/13Overview — Python 3.5.0 documentation
Python 3.4.102019/03/18Overview — Python 3.4.10 documentation
Python 3.4.92018/08/08Overview — Python 3.4.9 documentation
Python 3.4.82018/02/04Overview — Python 3.4.8 documentation
Python 3.4.72017/07/25Overview — Python 3.4.7 documentation
Python 3.4.62017/01/17https://docs.python.org/release/3.4.6/
Python 3.4.52016/06/26Overview — Python 3.4.5 documentation
Python 3.4.42015/12/06Overview — Python 3.4.4 documentation
Python 3.4.32015/02/25Overview — Python 3.4.3 documentation
Python 3.4.22014/10/04https://docs.python.org/release/3.4.2/
Python 3.4.12014/05/18Overview — Python 3.4.1 documentation
Python 3.4.02014/03/16Overview — Python 3.4.0 documentation
Python 3.3.72017/09/19Overview — Python 3.3.7 documentation
Python 3.3.62014/10/12Overview — Python 3.3.6 documentation
Python 3.3.52014/03/09Overview — Python 3.3.5 documentation
Python 3.3.42014/02/09https://docs.python.org/release/3.3.4/
Python 3.3.32013/11/17Overview — Python v3.3.3 documentation
Python 3.3.22013/05/15Overview — Python v3.3.2 documentation
Python 3.3.12013/04/07Overview — Python v3.3.1 documentation
Python 3.3.02012/09/29https://docs.python.org/release/3.3.0/
Python 3.2.62014/10/11Overview — Python v3.2.6 documentation
Python 3.2.52013/05/15Overview — Python v3.2.5 documentation
Python 3.2.42013/04/07Overview — Python v3.2.4 documentation
Python 3.2.32012/04/10Overview — Python v3.2.3 documentation
Python 3.2.22011/09/04Overview — Python v3.2.2 documentation
Python 3.2.12011/07/10Overview — Python v3.2.1 documentation
Python 3.22011/02/20Overview — Python v3.2 documentation
Python 3.1.52012/04/09Overview — Python v3.1.5 documentation
Python 3.1.42011/06/11Overview — Python v3.1.4 documentation
Python 3.1.32010/11/27Overview — Python v3.1.3 documentation
Python 3.1.22010/03/21Overview — Python v3.1.2 documentation
Python 3.1.12009/08/17Overview — Python v3.1.1 documentation
Python 3.12009/06/27Overview — Python v3.1 documentation
Python 3.0.12009/02/13Overview — Python v3.0.1 documentation
Python 3.02008/12/03https://docs.python.org/release/3/
Python 2.7.182020/04/20Python 2.7.18 documentation
Python 2.7.172019/10/19https://docs.python.org/release/2.7.17/
Python 2.7.162019/03/02Python 2.7.16 documentation
Python 2.7.152018/04/30Python 2.7.15 documentation
Python 2.7.142017/09/16https://docs.python.org/release/2.7.14/
Python 2.7.132016/12/17https://docs.python.org/release/2.7.13/
Python 2.7.122016/06/26Overview — Python 2.7.12 documentation
Python 2.7.112015/12/05Overview — Python 2.7.11 documentation
Python 2.7.102015/05/23Overview — Python 2.7.10 documentation
Python 2.7.92014/12/10Overview — Python 2.7.9 documentation
Python 2.7.82014/07/01Overview — Python v2.7.8 documentation
Python 2.7.72014/05/31Overview — Python v2.7.7 documentation
Python 2.7.62013/11/10Overview — Python v2.7.6 documentation
Python 2.7.52013/05/15Overview — Python v2.7.5 documentation
Python 2.7.42013/04/06Overview — Python v2.7.4 documentation
Python 2.7.32012/04/09Overview — Python v2.7.3 documentation
Python 2.7.22011/06/11Overview — Python v2.7.2 documentation
Python 2.7.12010/11/27Overview — Python v2.7.1 documentation
Python 2.72010/07/04Overview — Python v2.7 documentation
Python 2.6.92013/10/29Overview — Python v2.6.9 documentation
Python 2.6.82012/04/10Overview — Python v2.6.8 documentation
Python 2.6.72011/06/03Overview — Python v2.6.7 documentation
Python 2.6.62010/08/24Overview — Python v2.6.6 documentation
Python 2.6.52010/03/19Overview — Python v2.6.5 documentation
Python 2.6.42009/10/25Overview — Python v2.6.4 documentation
Python 2.6.32009/10/02Overview — Python v2.6.3 documentation
Python 2.6.22009/04/14Overview — Python v2.6.2 documentation
Python 2.6.12008/12/04Overview — Python v2.6.1 documentation
Python 2.62008/10/01Overview — Python v2.6 documentation
Python 2.5.42008/12/23Python 2.5.4 Documentation - 23rd December, 2008
Python 2.5.32008/12/19Python 2.5.3 Documentation - 19th December, 2008
Python 2.5.22008/02/21Python 2.5.2 Documentation - 21st February, 2008
Python 2.5.12007/04/18Python 2.5.1 Documentation - 18th April, 2007
Python 2.52006/09/19Python 2.5 Documentation - 19th September, 2006
Python 2.4.42006/10/18Python 2.4.4 Documentation - 18 October 2006
Python 2.4.32006/03/29Python 2.4.3 Documentation - 29 March 2006
Python 2.4.22005/09/28Python 2.4.2 Documentation - 28 September 2005
Python 2.4.12005/03/30Python 2.4.1 Documentation - 30 March 2005
Python 2.42004/11/30Python 2.4 Documentation - November 30, 2004
Python 2.3.52005/02/08Python 2.3.5 Documentation - February 08, 2005
Python 2.3.42004/05/27Python 2.3.4 Documentation - May 20, 2004
Python 2.3.32003/12/19Python 2.3.3 Documentation - December 19, 2003
Python 2.3.22003/10/03Python 2.3.2 Documentation - October 3, 2003
Python 2.3.12003/09/23Python 2.3.1 Documentation - September 23, 2003
Python 2.32003/07/29Python 2.3 Documentation - July 29, 2003
Python 2.2.32003/05/30Python 2.2.3 Documentation - 30 May 2003
Python 2.2.22002/10/14Python 2.2.2 Documentation - October 14, 2002
Python 2.2.12002/04/10Python 2.2.1 Documentation - April 10, 2002
Python 2.2p12002/03/29Python 2.2p1 Documentation - March 29, 2002
Python 2.22001/12/21https://docs.python.org/release/2.2/
Python 2.1.32002/04/08Python 2.1.3 Documentation - April 8, 2002
Python 2.1.22002/01/16Python 2.1.2 Documentation - January 16, 2002
Python 2.1.12001/07/20Python 2.1.1 Documentation - July 20, 2001
Python 2.12001/04/15Python 2.1 Documentation - April 15, 2001
Python 2.0.12001/06/22Python 2.0.1 Documentation - June 22, 2001
Python 2.02000/10/16https://docs.python.org/release/2/
Python 1.62000/09/05Python 1.6 Documentation - September 18, 2000
Python 1.5.2p22000/03/22Python 1.5.2 Documentation - March 22, 2000
Python 1.5.2p11999/07/06Python 1.5.2 Documentation
Python 1.5.21999/04/30Python 1.5.2 Documentation
Python 1.5.1p11998/08/06Python 1.5 Documentation
Python 1.5.11998/04/14https://docs.python.org/release/1.5.1/
Python 1.51998/02/17Python 1.5 Documentation
Python 1.41996/10/25Index of /release/1.4/

三、Python的优缺点

        Python作为一种广泛使用的编程语言,具有其独特的优点缺点,其主要优缺点有:

1、优点:

1-1、易读性和简洁性:Python的语法清晰简洁,易于阅读和理解,这使得Python成为初学者的理想选择,同时也降低了维护代码的成本。

1-2、强大的库支持:Python拥有大量的第三方库,如NumPy、Pandas、Matplotlib等,这些库为数据分析、科学计算、机器学习等领域提供了强大的支持。

1-3、跨平台兼容性:Python可以在多种操作系统上运行,如Windows、Linux、Mac OS等,这使得Python具有很好的跨平台兼容性。

1-4、面向对象编程:Python支持面向对象编程,这使得代码更加模块化、易于维护和扩展。

1-5、社区支持:Python拥有一个庞大的开发者社区,这为Python的发展提供了强大的支持,开发者可以在社区中分享经验、学习新知识、解决问题。

1-6、解释型语言:Python是解释型语言,无需编译即可运行,这大大加快了开发速度,同时,Python也支持交互式编程,使得调试和测试变得更加容易。

1-7、可扩展性:Python可以与C、C++等语言进行混合编程,这使得Python在保持易读性和简洁性的同时,也能获得更好的性能。

2、缺点:

2-1、性能问题:与C、C++等编译型语言相比,Python的性能通常较差,这是因为Python是解释型语言,需要在运行时将源代码解释成机器码,然而,在大多数情况下,这并不会成为问题,因为Python的性能足以应对大多数应用场景。

2-2、全局解释器锁(GIL):Python的全局解释器锁限制了Python的多线程性能,这意味着在Python中,多线程并不能充分利用多核CPU的优势,然而,这个问题可以通过使用多进程、异步编程等方式来缓解。

2-3、代码的可读性双刃剑:虽然Python的易读性是其优点之一,但这也可能导致代码过于冗长,在一些需要高度优化的场景中,Python的代码可能会比其他语言更冗长。

2-4、类型系统:Python是一种动态类型语言,这意味着在运行时才会检查变量的类型,这可能会导致一些类型错误在运行时才发现,增加了调试的难度,然而,Python 3引入了类型注解,这有助于在一定程度上缓解这个问题。

2-5、内存管理:Python的内存管理是由解释器自动进行的,这在一定程度上降低了内存泄漏的风险,但是,这也可能导致一些不必要的内存占用,在一些对内存要求严格的场景中,可能需要更精细的内存管理策略。

四、Python的发展方向

        Python的发展方向是多元化的,随着技术的不断发展和应用领域的扩大,其应用领域和岗位需求也在不断增加,其主要发展方向有:

1、Web开发:Python在Web开发领域有着广泛的应用,如Django和Flask等Web框架的流行,使得Python成为Web开发的重要工具,Python的简洁语法和强大的功能,使得开发者能够快速地构建出高效、稳定的Web应用。

2、网络编程:Python在网络编程领域也有着广泛的应用,它支持多种网络通信协议,并且拥有丰富的网络编程库,如socket、twisted等,这使得Python能够轻松地处理各种网络通信问题。

3、数据分析与大数据处理:Python在数据分析和大数据处理方面表现出色,拥有如NumPy、Pandas、Matplotlib等强大的数据分析库和工具,Python的语法简单明了,易于学习和使用,这使得它成为数据分析和大数据处理领域的热门选择。

4、自动化与脚本编写:Python的语法简单明了,易于学习,因此它成为编写脚本和自动化任务的首选语言,Python可以编写各种自动化脚本,如批量处理文件、自动化测试、自动化运维等。

5、人工智能与机器学习:Python是人工智能和机器学习领域的热门语言,拥有如TensorFlow、PyTorch等强大的机器学习库和工具,Python的易用性和丰富的库资源使得它成为研究和开发人工智能和机器学习算法的首选语言。

6、科学计算与可视化:Python在科学计算和可视化方面也有很强的能力,例如,其科学计算库NumPy、SciPy和matplotlib等,使得Python在科研领域具有广泛的应用。

7、嵌入式系统开发:虽然Python通常不是嵌入式系统开发的首选语言,但随着Python微控制器的出现和物联网技术的发展,Python在嵌入式系统开发领域的应用也逐渐增多。

8、爬虫开发:在爬虫领域,Python几乎是霸主地位,Python拥有丰富的网络爬虫库(如Scrapy、BeautifulSoup等),能够轻松地爬取网络上的各种数据。

9、物联网(IoT):随着物联网技术的不断发展,Python在物联网领域的应用也越来越广泛,Python可以轻松地与各种硬件设备进行交互,实现数据的采集、处理和传输。

10、游戏开发:虽然Python不是专门的游戏开发语言,但它也可以用于游戏开发,Pygame等库使得Python能够开发出一些简单的2D游戏,并且Python的简洁语法和强大的功能也使得它成为游戏开发者的一个选择。

        总之,Python的发展方向非常广泛,几乎涵盖了编程领域的各个方面,随着技术的不断发展,Python的应用领域还将继续扩大。

五、Python之禅

        在Python终端会话中执行命令import this时,让我们一起领略Python之禅(注:为了与中文翻译对应,我添加了序号,实际输出是无序号的):

import this
# The Zen of Python, by Tim Peters
# 
# 01、Beautiful is better than ugly.
# 02、Explicit is better than implicit.
# 03、Simple is better than complex.
# 04、Complex is better than complicated.
# 05、Flat is better than nested.
# 06、Sparse is better than dense.
# 07、Readability counts.
# 08、Special cases aren't special enough to break the rules.
# 09、Although practicality beats purity.
# 10、Errors should never pass silently.
# 11、Unless explicitly silenced.
# 12、In the face of ambiguity, refuse the temptation to guess.
# 13、There should be one-- and preferably only one --obvious way to do it.
# 14、Although that way may not be obvious at first unless you're Dutch.
# 15、Now is better than never.
# 16、Although never is often better than *right* now.
# 17、If the implementation is hard to explain, it's a bad idea.
# 18、If the implementation is easy to explain, it may be a good idea.
# 19、Namespaces are one honking great idea -- let's do more of those!

译文如下:

《Python之禅》,作者:Tim Peters

01、优美优于丑陋
02、明了优于隐晦
03、简单优于复杂
04、复杂优于凌乱
05、扁平优于嵌套
06、稀疏胜于密集
07、可读性很重要
08、特例亦不可违背原则
09、即使实用比纯粹更优
10、错误绝不能悄悄忽略
11、除非它明确需要如此
12、面对不确定性,拒绝妄加猜测
13、任何问题应有一种,且最好只有一种,显而易见的解决方法
14、尽管这方法一开始并非如此直观,除非你是荷兰人
15、做优于不做
16、然而不假思索还不如不做
17、很难解释的,必然是坏方法
18、很好解释的,可能是好方法
19、命名空间是个绝妙的主意,我们应好好利用它

六、推荐专栏/主页:

1、Python函数之旅:Functions
2、Python算法之旅:Algorithms
3、个人主页:https://myelsa1024.blog.csdn.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632586.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

湖南大学OS-2018期末考试(不含解析)

前言 不知道哪里翻出来的一张,看着确实像期末考卷,暂且放一下。或许做过,或许没做过。 总之答案不记得了。做完可以评论区发一下或者找我发出来。 共6道大题。 一、(30%) 1. (6%) 进程间通信的两种方法分别是什么&…

Media Encoder 2024 for Mac:专业的音视频编码神器

Media Encoder 2024 for Mac,作为Mac用户的专业音视频编码工具,凭借其强大的功能和用户友好的界面,深受专业人士的喜爱。它支持将各种格式的音视频素材转换为多种流行格式,如MP4、MOV、AVI等,满足不同的播放和发布需求…

python:functools.partial和functools.wraps使用

python:functools.partial和functools.wraps使用 1 前言 python内置的functools模块,提供了一些非常好用的类或者方法,其中functools.partial和functools.wraps的使用频率较高,本文将针对其分析使用。 2 使用 2.1 functools.p…

No module named ‘sklearn.metrics.ranking‘ 解决方法

错误代码 from sklearn.metrics.classification import * from sklearn.metrics.ranking import * 错误原因 sklearn这个文件夹下的_classification和_ranking前面有下划线! 解决方法 第一步:找到sklearn位置,可以打开命令行输入 pip sh…

ASTM通信协议校验和计算方法

Lis通信接口开发 <STX> FN <Frame> <ETB>or<ETX> <CS><CR> <LF> 其中&#xff1a; <STX>&#xff1a;起始帧头&#xff08;0x02&#xff09; FN&#xff1a;帧号&#xff08;范围0&#xff5e;7&#xff0c;1&#xff5e;7完…

软考--试题六--抽象工厂模式(Abstract Factory)

抽象工厂模式(Abstract Factory) 意图 提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无须指定他们具体的类 结构 适用性 1、一个系统要独立于它的产品的创建、组合和表示时 2、一个系统要由多个产品系统中的一个来配置时 3、当要强调一系列相关的产品对象的设…

问界新M5交付,「975」组合站稳中国豪华智电定位

‍作者 |老缅 编辑 |德新 5月15日&#xff0c;问界新M5已正式开启全国用户交付。从网传图片可以看到&#xff0c;华为余承东以及赛力斯AITO问界BU总裁何利扬亲自出席了首批交车仪式。 4月23日&#xff0c;在不到1个月前&#xff0c;新M5发布。新M5共推出三款车型&#xff1a; …

基于ASN.1的RSA算法公私钥存储格式解读

1.概述 RFC5958主要定义非对称密钥的封装语法&#xff0c;RFC5958用于替代RFC5208。非对称算法会涉及到1对公私钥&#xff0c;例如按照RSA算法&#xff0c;公钥是n和e&#xff0c;私钥是d和n。当需要将公私钥保存到文件时&#xff0c;需按照一定的格式保存。本文主要定义公私钥…

leetcode刷题(6):二叉树的使用

文章目录 104. 二叉树的最大深度解题思路c 实现 94. 二叉树的中序遍历解题思路c 实现 101. 对称二叉树解题思路c 实现 96. 不同的二叉搜索树解题思路c 实现 102. 二叉树的层序遍历解题思路c 实现 104. 二叉树的最大深度 题目: 给定一个二叉树 root &#xff0c;返回其最大深度…

一文读懂deepSpeed:深度学习训练的并行化

引言 在深度学习领域&#xff0c;模型训练的过程不仅资源密集&#xff0c;而且技术复杂。近年来&#xff0c;随着模型规模和数据量的不断增长&#xff0c;深度学习训练面临着越来越多的挑战。这些挑战主要体现在计算资源的需求、训练效率、模型复杂度以及内存管理等多个方面。…

postgres 修改系统时间测试

修改系统时间 [rootmmsql01 ~]# date 2024年 05月 16日 星期四 13:07:02 CST [rootmmsql01 ~]# timedatectl set-time "2024-05-16 13:30:00" [rootmmsql01 ~]# date 2024年 05月 16日 星期四 13:30:03 CST [rootmmsql01 ~]# timedatectl set-time "2024-05-16…

基于QEMU-aarch64学习UEFI(EDK2)-2安装操作系统

1 基于QEMU-aarch64学习UEFI(EDK2)-2安装操作系统 文章目录 1 基于QEMU-aarch64学习UEFI(EDK2)-2安装操作系统1.1 二、基于qemu固件安装操作系统1.1.1 1、virt-manager安装1.1.2 2、创建虚拟机1.1.2.1 Ubuntu系统开机等待时间长问题解决 1.1.3 3、virt-manager日常使用1.1.4 4、…

GAN实例基于神经网络

目录 1.前言 2.实验 1.前言 需要了解GAN的原理查看对抗生成网络&#xff08;GAN&#xff09;&#xff0c;DCGAN原理。 采用手写数字识别数据集 2.实验 import argparse import os import numpy as np import mathimport torchvision.transforms as transforms from torchvi…

怎么把照片变小做头像?多种方法教你图片改尺寸

现在在社交媒体平台或者是社交软件上&#xff0c;我们经常会去更改头像来展示自己&#xff0c;但是有时候我们拍摄的照片太大无法直接用作头像&#xff0c;这时候就需要去修改图片尺寸&#xff0c;将图片改大小到合适的数值才能使用&#xff0c;那么如何快速的将图片改大小呢&a…

在UBuntu上安装QT环境

一、UBuntu环境 二、官网下载QT https://download.qt.io/archive/qt/ 安装所需选择版本下载&#xff0c;可以现在windows下载在复制进去 三、安装QT 1、复制到ubuntu 2、打开终端&#xff0c;改变刚下载文件的权限 权限代号 r&#xff1a;读取权限&#xff0c;数字代号为 “…

手机图片恢复不求人:手动找回丢失的照片!

无论是外出旅行、聚会还是日常点滴&#xff0c;我们总是习惯用手机记录下来&#xff0c;让美好的瞬间定格在一张张照片中。然而&#xff0c;有时因为误删、清空缓存或是更换手机&#xff0c;那些珍贵的照片突然消失了。手机图片恢复有什么简单易行、容易上手的方法吗&#xff1…

MySQL创建存储过程函数(2)

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) DEFAULT NULL,sex char(2) DEFAULT NULL,i…

上海初中生古诗文大会倒计时4个月:单选题真题示例和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间&#xff0c;备考要趁早&#xff0c;因为知识点还是相对比较多的。这些知识点对于初中语文的学习也是很有帮助的。 今天我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是…

教你五行代码实现大批量文件重命名

问题背景 文件夹里的大量文件&#xff0c;命名很乱&#xff0c;并且要重新命名为固定长度顺序的文件很麻烦。这里采用5行python实现大批量文件按要求统一命名。 现有文件夹列表 tulips 代码实现 main.py import os path rtulips/ for num, file in enumerate(os.listdir(…

狙击策略专用术语以及含义,WeTrade3秒讲解

想必各位交易高手对狙击策略不会陌生吧!但你想必不知道狙击策略的开发者为了推广狙击策略&#xff0c;在狙击策略基础的经典技术分析理论引入了自己的术语。今天WeTrade众汇和各位投资者继续了解狙击策略专用术语以及含义。 一.BL 银行级别(BL)是前一日线收盘的级别。时间是格…