>  기사  >  백엔드 개발  >  Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

WBOY
WBOY앞으로
2022-03-24 19:05:313909검색

이 기사는 python에 대한 관련 지식을 제공하며, 프로그램 운영 메커니즘과 Python 언어의 탄생 및 개발 역사를 포함한 관련 문제를 주로 소개합니다. 모든 사람에게 도움이 되기를 바랍니다.

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

추천 학습: python 학습 튜토리얼

1. 컴퓨터 구성

컴퓨터는 우리 시대의 핵심 장비가 되었고 항상 필요합니다. 더 이상 사람들이 생각하는 데스크톱이나 서버가 아니라, 휴대폰, 태블릿, 노트북 등 우리 주변의 모든 사물로 진화한 것입니다. 텔레비전, 전자레인지, 자동차, 심지어 아이들이 가지고 놀 수 있는 스마트 로봇까지. 컴퓨터는 인체의 확장, 두뇌의 확장, 없어서는 안 될 부분이 되었다고 해도 과언이 아닙니다. 미래에는 컴퓨터가 실제로 인간의 몸 속으로 들어가고, 뇌 속으로 들어가고, 진정으로 인간 몸의 일부가 될 것입니다. 예를 들어 공상과학 영화 '매트릭스'의 주인공은 슈퍼바늘을 목에 꽂은 후 빠르게 학습하고 뇌의 신경망을 변화시켜 몇 초 만에 쿵푸 마스터가 될 수 있다. 흔히 컴퓨터로 알려진 컴퓨터는 고속 계산에 사용되는 전자 기계로 수학적 계산과 논리적 판단을 수행할 수 있는 20세기 최고의 과학 기술 발명품 중 하나입니다. 저장 메모리 및 데이터 처리 . 완전한 컴퓨터 시스템은 아래 그림과 같이 하드웨어 시스템소프트웨어 시스템으로 구성됩니다.

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

1.1 하드웨어 시스템

하드웨어 시스템은 주로 호스트와 주변 장치로 나눌 수 있습니다. , 이는 구성을 나타냅니다. 주로 다양한 전자 장치와 전기 기계 장치로 구성되는 컴퓨터 시스템의 물리적 개체입니다. ENIAC(세계 최초의 컴퓨터)부터 현재 가장 발전된 컴퓨터까지, 하드웨어 시스템 설계는 아래와 같이 Von Neumann 아키텍처를 채택합니다.ENIAC(世界上第一台计算机)到目前最先进的电脑,硬件系统的设计采用的都是冯·诺依曼体系结构,如下所示:

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
  • 运算器: 负责数据的算术运算和逻辑运算,即数据的加工处理;
  • 控制器: 计算机的中枢神经,协调计算机各部分组件工作以及内存和外设的访问;
    其中:运算器和控制器统称为中央处理器,即CPUPython에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
    • Operator : 데이터의 산술 및 논리 연산, 즉 데이터 처리를 담당합니다.
    • 컨트롤러: 컴퓨터의 중추 신경계로 컴퓨터의 다양한 구성 요소는 물론 메모리 및 외부 액세스의 작업을 조정합니다. 장치;
      그중:
    • 연산 장치와 컨트롤러를 총칭하여 중앙 처리 장치, 즉 CPU라고 합니다.
    • 메모리:
    메모리 기능과 컨트롤러를 구현하는 구성 요소 프로그램 및 데이터, 명령, 다양한 신호 및 기타 정보를 저장하고 필요할 때 이 정보를 제공하는 데 사용됩니다.

    입력 장치: 프로그램, 원본 데이터, 텍스트, 문자, 제어 명령 또는 현장에서 수집된 데이터의 입력을 실현합니다.

    🎜출력 장치:🎜 다양한 데이터 기호, 텍스트, 제어 신호 및 기타 정보를 포함하여 컴퓨터 처리에 의해 생성된 중간 결과 또는 최종 결과의 출력을 실현합니다.🎜🎜🎜1.2 소프트웨어 시스템🎜🎜 소프트웨어 시스템은 크게 🎜시스템 소프트웨어와 응용 소프트웨어 🎜로 나뉘며, 컴퓨터의 정상적인 작동을 보장하는 데 필요한 다양한 프로그램을 말하며 프로그래밍 실습의 주요 대상으로 다음과 같이 구성됩니다. 🎜
    Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
    • 시스템 소프트웨어: 컴퓨터 하드웨어의 정상적인 작동과 성능을 보장하고 컴퓨터 사용자에게 직관적이고 친숙하며 편리한 인터페이스를 제공합니다.
  1. 운영 체제: 사용자가 컴퓨터 소프트웨어 및 하드웨어 리소스를 제어하고 관리할 수 있도록 도와주는 시스템 소프트웨어입니다. 복잡한 기능을 가지고 있으며 모든 소프트웨어의 정상적인 작동을 위한 기반이자 핵심입니다.
  2. 컴파일러:라고도 합니다. 언어 처리 프로그램으로, 그 기능은 프로그래머가 Java, Python 등 다양한 프로그래밍 언어를 사용하여 작성한 프로그램을 컴퓨터에서 실행 가능한 기계어로 번역하는 것입니다.
  • 응용 소프트웨어: 응용 소프트웨어는 다양한 사용자의 요구를 충족시키기 위해 컴퓨터에서 제공하는 소프트웨어의 일부입니다. 컴퓨터 시스템의 응용 분야를 확장하고 하드웨어 성능을 향상시킬 수 있습니다.
  1. 소셜 오피스 카테고리: WeChat, QQ, WPS, Tencent Conference, DingTalk, Momo 등
  2. 레저 및 엔터테인먼트 카테고리: QQ Music, Tencent Video, Steam, Happy Landlords 등;
2. 프로그램 실행 메커니즘

  기계어는 기계어라고도 하며 를 통해 분석하고 실행할 수 있는 명령어의 집합입니다. 컴퓨터는 0과 1의 CPU기계 코드만 인식할 수 있으며 중국어, 영어 또는 기타 언어와 같은 인간의 언어는 받아들일 수 없습니다. 따라서 인간과 컴퓨터 간의 상호작용을 실현하기 위해 C++, Java, PhP, Python 등 다양한 프로그래밍 언어가 등장했습니다.

2.1 컴파일 및 해석

분석: 컴퓨터가 다음 Python 코드를 직접 인식할 수 있나요?

"""
分析:在控制台输出以下Python代码,计算机可以直接处理吗?
"""print("Hello world!")  # print()为Python中的内置函数,主要用于输出括号内的内容,类似于Java中的System.out.println("Hello world!")
 분명히 위의 코드는 주로 영문자와 구두점으로 구성되어 있지만 앞서 언급했듯이 컴퓨터는 기계어 코드(0과 1)만 인식할 수 있습니다. 즉, 이 코드를 전혀 인식하지 못합니다.

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
 그렇다면 코드를 통해 컴퓨터가 작동하도록 어떻게 제어할 수 있을까요?

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
 인간과 컴퓨터의 상호작용 과정은 마치 현지인이 외국인과 소통할 때와 같습니다. 아이디어에는 상대방의 언어를 내가 어떤 방식으로 이해할 수 있는 언어로, 혹은 그 반대로 변환할 수 있는 중간 매체가 필요합니다. 따라서 컴퓨터가 우리가 작성한 코드를 이해하려면 이를 인식할 수 있는 기계어 코드로 변환해야 합니다. 변환 과정에 따라 프로그래밍 언어는 컴파일된 언어와 해석된 언어로 구분됩니다.

  • 컴파일됨: 컴파일된 언어는 코드를 C++와 같이 컴퓨터가 인식하고 실행할 수 있는 기계어 코드로 직접 변환할 수 있습니다.
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
C++
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
  • 解释型: 解释型语言先将代码转换为字节码,然后再将其翻译成计算机可识别的机器码,如Python
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

2.2 计算机处理程序的流程

  1. 用户打开程序,程序开始执行;
  2. 操作系统将程序内容和相关数据送入计算机内存;
  3. CPU根据程序内容从内存中读取指令;
  4. CPU分析、处理指令,并为下一条指令做好准备;
  5. 读取下一条指令分析并处理,如此循环往复直至处理完程序中的全部指令,最后将计算结果放入指令指定的存储器地址中;

2.3 计算机语言发展史

   算法是计算机的灵魂,而编程语言是使得计算机具有灵魂的工具。伴随着计算机硬件的发展,计算机编程语言也历经了从低级到高级的演变,而每一次改变的核心思想就是“让人更容易编程”。计算机硬件的速度越快、体积越小、成本越低,应用到人类社会的场景就会越多,那么所需要的算法就会越复杂,也就要求计算机编程语言越高级。最初重达几十吨但一秒只能运算5000次的ENIAC,只能做非常小的应用,如弹道计算。如今,任何一个人的手机运算能力都可以秒杀那个年代地球上所有计算机运算能力的总和。越容易使用的语言,就有越多人使用;越多人使用,就有越多人协作;越多人协作,就可以创造越复杂的物体。现代社会,一个软件动辄几十或几百人、甚至几千人协作也成为可能,这自然就为开发复杂软件提供了“人力基础”。这是一个人类普遍的社会现象,越容易使用的工具,通过使用数量,通过大量人的协作,彻底改变某个行业甚至人类社会。未来三十年必将是软件人才的世界,除普通软件,大量人工智能软件,如自动驾驶、机器人保姆以及机器人女友都会进入我们的生活,甚至计算机技术和基因工程结合以实现长生不老,感兴趣的可以阅读一下《未来简史: 从智人到智神》。

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
  • 机器语言: 相当于人类的的原始阶段;

  机器语言由数字组成所有指令。当让你使用数字编程,写几百个数字、甚至几千个数字,每天面对的是纯数字,可以大胆预测:“程序员群体100%会有精神问题”。机器语言通常由数字串组成(最终被简化成二进制0和1),对于人类来说,机器语言过于繁琐。使用机器语言,人类无法编出复杂的程序。

  • 汇编语言: 相当于人类的手工业阶段;

  为了编程的方便,以及解决更加复杂的问题,程序员开始改进机器语言,使用英文缩写的助记符(单词)来表示基本的计算机操作。这些助记符构成了汇编语言的基础,如:LOAD、MOVE 之类,这样人更容易记忆和使用。识别成百上千个单词,总比成百上千个数字,感觉会好很多。汇编语言相当于人类的手工业社会,需要技术极其娴熟的工匠,但是开发效率也非常低。汇编语言虽然能编写高效率的程序,但是学习和使用都不是易事,并且很难调试。另一个复杂的问题,汇编语言以及早期的计算机语言(Basic、Fortran等)没有考虑结构化设计原则,而是使用goto语句해석:

해석된 언어는 먼저 코드를 바이트코드로 변환한 다음 Python과 같이 컴퓨터가 인식할 수 있는 기계어 코드로 변환합니다. . <center><img src="https://img.php.cn/upload/article/000/000/067/929e49ced73fa26f7871a0720e1bfe17-6.png" style="max-width:90%" title="통역언어의 원리" alt="Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)" ></center> <h2>2.2 컴퓨터 처리 프로그램의 흐름</h2> <ol> <li>사용자가 프로그램을 열고 프로그램이 실행되기 시작합니다.</li> <li> 운영 체제는 프로그램을 전송합니다. 콘텐츠 및 관련 데이터는 컴퓨터 메모리로 전송됩니다. </li> <li>CPU는 프로그램 콘텐츠에 따라 메모리에서 명령을 읽습니다. 명령어를 읽고 다음 명령어를 준비합니다.</li> <li>다음 명령어를 읽고 분석하고 처리하며 프로그램의 모든 명령어가 처리될 때까지 이 주기를 반복하고 마지막으로 계산 결과를 지정된 메모리 주소에 넣습니다. </li> </ol> <h2>2.3 컴퓨터 언어 개발의 역사</h2> <p>  🎜알고리즘은 컴퓨터의 영혼🎜이며, 프로그래밍 언어는 컴퓨터 언어를 만드는 도구입니다. 컴퓨터에는 영혼이 있습니다. 컴퓨터 하드웨어의 발전과 함께 컴퓨터 프로그래밍 언어도 저급에서 고급으로 진화해 왔으며, 각 변화의 핵심 아이디어는 '사람이 프로그래밍하기 쉽게 만드는 것'이다. 컴퓨터 하드웨어의 속도가 빠르고 작을수록 비용이 저렴할수록 인간 사회에 적용되는 시나리오가 많아지고 필요한 알고리즘이 더욱 복잡해지기 때문에 고급 컴퓨터 프로그래밍 언어가 필요합니다. 🎜ENIAC🎜는 처음에는 무게가 수십 톤이었지만 초당 5,000번의 계산만 수행할 수 있었지만 탄도 계산과 같은 매우 작은 응용 프로그램만 수행할 수 있었습니다. 오늘날 한 사람의 휴대폰의 컴퓨팅 성능은 그 당시 지구상에 있는 모든 컴퓨터의 컴퓨팅 성능을 합친 것보다 즉시 능가할 수 있습니다. 언어가 사용하기 쉬울수록 더 많은 사람들이 언어를 사용할수록 더 많은 사람들이 협업할 수 있고 더 복잡한 개체를 만들 수 있습니다. 현대 사회에서는 수십, 수백, 심지어 수천 명의 사람들이 소프트웨어 하나에 대해 협업하는 것이 가능하며, 이는 자연스럽게 복잡한 소프트웨어 개발을 위한 "인간 기반"을 제공합니다. 이는 인간에게 공통적으로 나타나는 사회 현상입니다. 도구를 사용하기 쉽고, 더 많이 사용할수록, 많은 사람이 협력하면 산업은 물론 인류 사회까지 완전히 변화시킬 수 있습니다. 앞으로 30년은 분명 소프트웨어 인재의 세계가 될 것입니다. 일반 소프트웨어 외에도 자율주행, 로봇 보모, 로봇 여자친구 등 수많은 인공지능 소프트웨어가 우리 삶에 들어오게 될 것입니다. 불멸을 달성하기 위해 결합하십시오. 관심이 있으신가요? "미래의 간략한 역사: 호모 사피엔스에서 사피엔스까지"를 읽어보세요. 🎜</p> <center> <img src="https://img.php.cn/upload/article/000/000/067/929e49ced73fa26f7871a0720e1bfe17-7.jpg" style="max-width:90%" title="미래의 AI" alt="Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)" > </center>🎜🎜🎜기계 언어:🎜 인류의 원시 단계에 해당합니다. <p>  기계 언어는 숫자로 구성된 모든 명령어로 구성됩니다. 디지털 프로그래밍을 사용하고 수백, 심지어 수천 개의 숫자를 작성하라는 요청을 받고 매일 순수한 숫자와 마주하게 될 때 "프로그래머 중 100%가 정신적인 문제를 갖게 될 것입니다."라고 과감하게 예측할 수 있습니다. 일반적으로 숫자 문자열(결국 이진수 0과 1로 축소됨)로 구성된 기계 언어는 인간이 이해하기에는 너무 번거롭습니다. 기계어를 사용하면 인간은 복잡한 프로그램을 프로그래밍할 수 없습니다. 🎜🎜🎜🎜어셈블리 언어:🎜 인간 수공예 산업의 단계에 해당합니다. </p> <p> 프로그래밍을 용이하게 하고 더 복잡한 문제를 해결하기 위해 프로그래머는 기계 언어를 개선하고 영어 약어를 사용하기 시작했습니다. 기본적인 컴퓨터 작업을 나타내는 도움말 토큰(단어)입니다. 이러한 니모닉은 <code>LOAD, MOVE 등과 같은 어셈블리 언어의 기초를 형성하여 사람들이 더 쉽게 기억하고 사용할 수 있도록 해줍니다. 수백, 수천 개의 숫자보다 수백, 수천 개의 단어를 인식하는 것이 훨씬 기분이 좋습니다. 어셈블리 언어는 인간 수공예 사회와 동일하므로 매우 숙련된 장인이 필요하지만 개발 효율성도 매우 낮습니다. 어셈블리 언어는 효율적인 프로그램을 작성할 수 있지만 배우고 사용하기가 쉽지 않고 디버깅도 어렵습니다. 또 다른 복잡한 문제인 어셈블리 언어와 초기 컴퓨터 언어인 (Basic, Fortran 등)는 구조화된 설계 원칙을 고려하지 않고 goto 문을 🎜프로그램 흐름으로 사용했습니다. 주요 제어 방법 🎜. 그 결과, 뒤죽박죽된 전치문으로 인해 프로그램을 거의 읽을 수 없게 됩니다. 그 시대의 프로그래머들에게는 지난달에 작성한 코드를 이해하는 것이 하나의 도전이 되었습니다. 그럼에도 불구하고 산업용 전자 프로그래밍, 소프트웨어 암호화 및 복호화, 컴퓨터 바이러스 분석 등의 분야에서는 여전히 어셈블리 언어가 사용되고 있습니다. 🎜

  • 고급 프로그래밍 언어: 인간 산업 단계에 해당합니다.

  간단한 작업의 경우 어셈블리 언어로 작업을 수행할 수 있습니다. 그러나 컴퓨터가 발전하고 일과 생활의 모든 측면에 점차적으로 침투함에 따라 일부 복잡한 작업이 등장하고 어셈블리 언어가 부족해졌습니다. ). 그 결과 C++, Java 등 고급 언어가 등장하게 되었습니다. 언어가 발전할수록 인간의 사고와 더 가까워지고 사용하기가 더 쉬워집니다. 고급 언어, 특히 Java, Python 등과 같은 객체 지향 언어는 프로그래밍을 점점 더 어렵게 만들고 접근성을 높입니다. 현재와 ​​가까운 미래에도 컴퓨터 언어는 여전히 '3세대 고급 언어' 단계에 있습니다. 고급 언어를 사용하면 프로그래머는 일상 영어에 가까운 명령어를 사용하여 프로그램을 작성할 수 있습니다. 예를 들어 간단한 작업인 A+B=C를 구현하려면 기계어, 어셈블리 언어, 고급 언어를 사용하여 구현하면 다음과 같습니다.
여기에 그림 설명 삽입C++Java等。语言越高级,越接近人的思维,使用起来就越方便。高级语言,尤其是面向对象的语言,如Java、Python等,使得编程的难度和门槛越来越低。目前以及可预见的未来,计算机语言仍然处于“第三代高级语言”阶段,高级语言允许程序员使用接近日常英语的指令来编写程序。例如,实现一个简单的任务:A+B=C , 使用机器语言、汇编语言和高级语言的的实现如下所示:
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

三、Python语言的诞生与发展史

Python是一门动态数据类型、面向对象的解释型语言,主要用于人工智能的各个领域,如机器学习、爬虫与数据分析、深度学习、计算机视觉等。

TIOBE编程语言排行榜:

Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

3.1 诞生与发展

  • 时代背景: 硬件限制;

  Python的作者,Guido von Rossum(吉多·范·罗苏姆),荷兰人。1982年,吉多从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。在那个时候,吉多接触并使用过诸如Pascal、C、Fortran等语言。这些语言的基本设计原则是让机器能更快运行。在80年代,虽然IBM和苹果已经掀起了个人电脑(personal computer)浪潮,但这些个人电脑的配置很低。比如早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味的程序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。

  • Shell: 本质是调用命令,它不是一个真正的语言;

  这种编程方式让吉多感到苦恼。吉多知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间,即使他已经准确的知道了如何实现。他的另一个选择是shellBourne Shell作为UNIX系统

3. 파이썬 언어의 탄생과 발전 역사 h2>
Python은 동적 데이터 유형, 객체 지향 해석 언어로 기계 학습, 크롤러 및 데이터 분석, 딥 러닝 등 다양한 인공 지능 분야에서 주로 사용됩니다. , 컴퓨터 비전 등
TIOBE 프로그래밍 언어 순위:🎜
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)

3.1 탄생과 발전

🎜🎜🎜Era 배경:🎜 하드웨어 제한;🎜🎜🎜  Python의 저자인 네덜란드인 Guido von Rossum(Guido von Rossum). 1982년에 Guido는 암스테르담 대학교에서 수학과 컴퓨팅 석사 학위를 받았습니다. 그러나 그는 일종의 수학자였지만 컴퓨터를 더욱 좋아했습니다. 그의 말에 따르면 그는 수학과 컴퓨터의 이중 자격을 가지고 있지만 항상 컴퓨터 관련 작업을 하는 경향이 있으며 프로그래밍과 관련된 모든 일에 열중하고 있습니다. 그 무렵 귀도는 파스칼, C, 포트란 등의 언어를 접하고 사용하게 되었다. 이들 언어의 기본 설계 원칙은 기계를 더 빠르게 작동시키는 것입니다. 1980년대 IBM과 Apple이 개인용 컴퓨터를 출시했지만 이들 개인용 컴퓨터는 구성이 매우 낮았습니다. 예를 들어 초기 매킨토시는 CPU 주파수가 8MHz에 불과했고 RAM은 128KB에 불과했습니다. 🎜모든 컴파일러의 핵심은 프로그램이 실행될 수 있도록 최적화하는 것입니다. 효율성을 높이기 위해 언어는 프로그래머가 컴퓨터처럼 생각하도록 강요하여 기계의 취향에 더 맞는 프로그램을 작성할 수 있도록 합니다🎜. 그 시대에 프로그래머들은 손으로 컴퓨터의 모든 능력을 쥐어짜내고 싶어했습니다. 어떤 사람들은 C 언어 포인터가 메모리 낭비라고 생각하기도 합니다. 동적 타이핑, 자동 메모리 관리, 객체 지향... 생각하지 마세요. 컴퓨터가 마비될 것입니다. 🎜🎜🎜🎜Shell:🎜 핵심은 명령을 호출하는 것입니다. 이는 실제 언어가 아닙니다.🎜🎜🎜 이런 종류의 프로그래밍은 Guido를 괴로움으로 만듭니다. Guido는 C 언어로 함수를 작성하는 방법을 알고 있지만, 이미 구현 방법을 정확히 알고 있음에도 불구하고 전체 작성 과정에는 많은 시간이 걸립니다. 그의 다른 옵션은 🎜shell🎜입니다. Bourne Shell은 오랫동안 UNIX 시스템용 인터프리터로 존재해 왔습니다. UNIX 관리자는 정기적인 백업, 파일 시스템 관리 등과 같은 일부 시스템 유지 관리 작업을 수행하기 위해 쉘을 사용하여 몇 가지 간단한 스크립트를 작성하는 경우가 많습니다. 🎜쉘은 UNIX 시스템의 많은 기능을 함께 연결하는 접착제와 같을 수 있습니다🎜. 수백 줄로 구성된 많은 C 언어 프로그램은 셸 아래에서 단 몇 줄만으로 완료될 수 있습니다. 그러나 쉘의 본질은 명령을 호출하는 것이며 실제 언어는 아닙니다. 예를 들어, 쉘에는 숫자 데이터 유형이 없으며 추가 작업이 매우 복잡합니다. 🎜요컨대, 쉘은 컴퓨터의 기능을 완전히 동원할 수 없습니다🎜. 🎜
  • ABC 언어: 읽기 쉽고 사용하기 쉬우나 명백한 단점이 있습니다.

 Guido는 C 언어처럼 컴퓨터의 기능적 인터페이스를 완전히 호출할 수 있고 다음과 같이 사용할 수도 있는 언어를 원합니다. Shell은 쉽게 프로그래밍할 수 있습니다. ABC 언어는 Guido에게 희망을 줍니다. ABC는 네덜란드의 수학 및 컴퓨팅 연구소에서 개발되었습니다. Guido는 연구소에서 근무하며 ABC 언어 개발에 참여했습니다. ABC 언어는 교육 목적으로 사용됩니다. 당시 대부분의 언어와 달리 ABC 언어의 목표는 “사용자의 기분을 좋게 만드는 것”이었습니다. ABC Language는 언어를 쉽게 읽고, 사용하고, 기억하고, 배울 수 있도록 만들고 프로그래밍 학습에 대한 사람들의 관심을 자극하기를 희망합니다.
그러나 ABC 언어 컴파일러를 실행하려면 높은 컴퓨터 구성이 필요하며 이러한 컴퓨터의 사용자는 일반적으로 컴퓨터에 능숙하므로 학습 난이도보다는 프로그램의 효율성에 더 많은 관심을 기울입니다. 반면, 인기를 끌지 못한 이유는 다음과 같은 치명적인 디자인 문제 때문입니다.

  1. 낮은 확장성: ABC는 그래픽 지원과 같은 기능을 추가하려는 경우 많은 곳을 바꿔야 해요.
  2. IO를 직접 수행할 수 없습니다:IO: ABC不能直接操作文件系统,即不能直接读写数据。输入输出的困难对于计算机而言是致命的,你能想象一个不能打开车门的跑车吗?
  3. 过度革新: ABC用自然语言的形式来表达程序的意义。例如,它使用How to来定义一个函数,而对于程序员来说,他们更习惯用functiondefine
  4. 传播困难: ABC编译器很大,必须保存在磁带上,这也就意味着如果想要使用它,必须先准备一个大大的磁带。
  • Python孕育与成长: 介于CShell ABC는 파일 시스템을 직접 작동할 수 없습니다. 즉, 데이터를 직접 읽고 쓸 수 없습니다. 입력과 출력의 어려움은 컴퓨터에게 치명적입니다. 문을 열 수 없는 스포츠카를 상상할 수 있습니까?
과잉 혁신:

ABC는 프로그램의 의미를 자연어로 표현합니다. 예를 들어 함수를 정의하는 방법은 방법을 사용하지만, 프로그래머에게는 함수정의를 사용하는 것이 더 익숙합니다. 전파의 어려움: ABC 컴파일러는 용량이 매우 크고 테이프에 저장해야 하기 때문에 사용하려면 먼저 큰 테이프를 준비해야 합니다.

Python 임신 및 성장: CShell 사이의 간단하고 배우기 쉬운 포괄적인 언어 = 1989년, 귀도는 크리스마스 휴가를 보내기 위해 파이썬 언어용 컴파일러를 작성하기 시작했습니다. Python이라는 이름은 Guido가 사랑한 TV 시리즈 Monty Python's Flying Circus에서 따왔습니다. 그는 Python이라는 새로운 언어가 자신의 이상인

C와 셸 사이, 포괄적인 기능을 갖추고 배우고 사용하기 쉽고 확장 가능한 언어🎜를 충족할 수 있기를 바라고 있습니다. 언어 디자인에 열광하는 Guido는 이미 언어 디자인을 시도한 적이 있습니다. 이번에는 순수한 해킹 행위에 지나지 않았습니다. 🎜🎜  🎜1991년에 최초의 Python 컴파일러가 탄생했습니다🎜. C언어로 구현되어 C언어 라이브러리 파일을 호출할 수 있습니다. Python은 탄생부터 클래스, 함수, 예외 처리, 테이블 및 사전을 포함한 핵심 데이터 유형, 모듈 기반 확장 시스템을 갖추고 있습니다. Python 구문의 대부분은 C에서 유래했지만 ABC 언어의 영향도 많이 받았습니다. 🎜강제 들여쓰기🎜와 같은 ABC 언어의 일부 규칙은 오늘날까지도 논란의 여지가 있지만 이러한 문법 규칙은 Python을 읽기 쉽게 만듭니다. 반면 Python은 🎜등호 할당🎜 복원과 같은 일부 규칙, 특히 C 규칙을 따르는 것을 현명하게 선택합니다. 귀도는 어떤 것이 "상식"에 기초하여 확립되면 그것에 너무 매달릴 필요가 없다고 믿습니다. Python은 처음부터 🎜확장성🎜에 특별한 관심을 기울였습니다. Python은 여러 수준으로 확장될 수 있습니다. 🎜높은 수준에서 .py 파일을 직접 가져올 수 있습니다. 내부적으로는 C 라이브러리🎜를 참조할 수 있습니다. Python 프로그래머는 Python을 사용하여 .py 파일을 확장 모듈로 빠르게 작성할 수 있습니다. 그러나 성능이 고려해야 할 중요한 요소인 경우 Python 프로그래머는 하위 계층으로 깊이 들어가서 C 프로그램을 작성하고 이를 .so 파일로 컴파일한 다음 Python에 도입하여 사용할 수 있습니다. Python은 마치 강철로 집을 짓는 것과 같습니다. 먼저 큰 프레임워크가 정의되어 있고, 프로그래머는 이 프레임워크 내에서 이를 아주 자유롭게 확장하거나 변경할 수 있습니다. 🎜

 원래 Python은 전적으로 Guido가 직접 개발했습니다. Guido의 동료들은 Python을 환영합니다. 그들은 빠른 피드백을 제공하고 Python 개선에 참여합니다. Guido와 몇몇 동료들은 Python의 핵심 팀을 구성합니다. 그들은 여가 시간의 대부분을 Python을 해킹하는 데 보냅니다. 그 후 Python은 연구소를 넘어 확장되었습니다. Python은 많은 기술적 세부 사항을 숨기고 컴파일러가 처리하도록 남겨두고 논리적 프로그래밍 사고를 강조합니다. 따라서 Python 프로그래머는 구체적인 구현 세부 사항 대신 프로그램의 논리에 대해 생각하는 데 더 많은 시간을 할애할 수 있습니다. 이 기능은 많은 프로그래머의 관심을 끌었고 Python은 인기를 얻었습니다. 컴퓨터 하드웨어는 점점 더 강력해지고, 파이썬은 사용하기 쉬워서 많은 사람들이 파이썬으로 눈을 돌리고 있습니다. Guido는 메일 목록을 관리하고 Python 사용자는 이메일을 통해 통신합니다. Python 사용자는 다양한 분야 출신이고 배경이 다르며 Python에 대한 요구 사항도 다릅니다. Python은 상당히 개방적이고 확장이 용이하므로 사용자가 기존 기능에 만족하지 못할 경우 Python을 확장하거나 변환하기가 쉽습니다. 그런 다음 이러한 사용자는 Python 또는 표준 라이브러리에 새로운 기능을 추가할지 여부를 결정하는 Guido에게 변경 사항을 보냅니다. 코드가 Python 자체 또는 표준 라이브러리에 통합될 수 있다면 큰 영광이 될 것입니다. 귀도의 최고의 의사결정권 때문에 그는 “终身的仁慈独裁者”라고 불립니다. 2018년 7월 12일, PEP(Python Enhancement Proposals) 572를 완료한 후 Guido는 Python의 핵심 의사결정 수준에서 물러나기로 결정했습니다.

  Python과 표준 라이브러리의 힘은 전체 커뮤니티의 기여의 결과입니다. Python 개발자는 다양한 분야에서 왔으며 다양한 분야의 장점을 Python에 적용합니다. 예를 들어 Python 표준 라이브러리의 정규 표현식은 Perl을 참조하는 반면, 람다, 맵, 필터 및 축소와 같은 함수는 Lisp를 참조합니다. Python 자체의 일부 기능과 대부분의 표준 라이브러리는 커뮤니티에서 제공됩니다. Python 커뮤니티는 계속해서 확장되고 있으며 자체 뉴스 그룹, 웹 사이트 및 기금을 보유하고 있습니다. Python 2.0부터 Python도 메일 리스트 개발 방식에서 완전한 오픈 소스 개발 방식으로 변경되었습니다. 커뮤니티 분위기가 형성되었고, 커뮤니티 전체가 작업을 공유하며 Python의 개발 속도도 빨라졌습니다. 오늘로서 Python의 프레임워크가 확립되었습니다. Python 언어는 객체를 핵심으로 코드를 구성하고, 여러 프로그래밍 패러다임을 지원하고, 동적 유형을 사용하고, 자동으로 메모리 재활용을 수행합니다. Python은 해석된 실행을 지원하고 확장을 위해 C 라이브러리를 호출할 수 있습니다. Python에는 강력한 표준 라이브러리가 있습니다. 표준 라이브러리 시스템이 안정화된 이후 Python 생태계는 타사 패키지로 확장되기 시작했습니다. Django, web.py, wxpython, numpy, matplotlib 및 PIL과 같은 패키지는 Python을 종이 풍부한 열대 우림으로 업그레이드합니다.

  Python은 우아함, 명확성 및 단순성을 옹호하며 훌륭하고 널리 사용되는 언어입니다. Python은 TIOBE 순위에서 8위를 차지합니다. Google의 세 번째로 큰 개발 언어이자 Dropbox의 기본 언어이자 Douban의 서버 언어입니다. Python의 개발 역사는 대표적으로 사용될 수 있으며 우리에게 많은 깨달음을 가져다 줄 수 있습니다. Python 개발 과정에서 커뮤니티는 중요한 역할을 합니다. Guido는 자신이 만능 프로그래머가 아니기 때문에 프레임워크 공식화에만 책임이 있다고 생각합니다. 문제가 너무 복잡하면 그는 그 문제를 회피하는 것을 선택할 것입니다. 즉, 모퉁이를 자르는 것입니다. 이러한 문제는 궁극적으로 커뮤니티의 다른 사람들에 의해 해결됩니다. 커뮤니티의 재능은 매우 풍부합니다. 웹사이트를 만들고 자금을 모으는 등 개발과 조금 거리가 있는 일이라도 기꺼이 처리하려는 사람들이 있습니다. 오늘날의 프로젝트 개발은 점점 더 복잡해지고 커지고 있습니다. 협력과 열린 마음이 프로젝트 성공의 열쇠가 될 것입니다.

  파이썬은 역사에 들어간 ABC, 아직도 사용되고 있는 C와 Perl, 그리고 목록에 없는 다른 많은 언어들까지 다른 언어들로부터 많은 것을 배웠습니다. Python의 성공은 모든 언어의 성공을 의미한다고 할 수 있습니다. 마찬가지로 Ruby는 Python에서 차용한 것이며, Ruby의 성공은 어떤 측면에서는 Python의 성공을 의미하기도 합니다. 모든 언어는 혼합되어 있으며 장점이 있지만 다양한 결함도 있습니다. 동시에, 언어의 "좋은지 나쁜지"에 대한 판단은 플랫폼, 하드웨어, 시대 등과 같은 외부 요인에 따라 달라지는 경우가 많습니다. 프로그래머는 많은 언어 분쟁을 경험해 왔습니다.

3.2 디자인 철학

  • Python 디자인 철학 얻기: Python 소프트웨어를 성공적으로 설치한 후(다음 항목) 편집 환경을 열고 import this를 입력하여 실행합니다. import this运行即可;
Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)
  • 总结: 简单优雅可扩展,实用扁平是关键,最佳方案only one???

3.3 优势与不足

  • 优势:
  1. 简单易学可扩展: 阅读一个良好的Python程序就像欣赏一篇优美的文章一样,尽管它的要求非常严格,如强制缩进可提高代码的可读性。Python的这种伪代码本质使得我们可以更多地关注于解决问题的逻辑而非搞明白语言本身,如我们无需过多关注诸如内存管理这样的底层细节。如果我们希望一段关键代码运行的更快(C要比Python快50倍以上)或希望某些算法不公开,可以把部分程序用CC++语言编写,然后在Python程序中进行调用。
  2. 免费开源可移植: Python是FLOSS(自由/开放源码软件)之一,也就是说我们可以自由地发布这个软件的拷贝、阅读它的源代码 、对它做改动、把它的一部分用于新的自由软件中。由于其开源本质,Python可移植在许多计算机平台上,如Windows、Linux等
  3. 面向对象: Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其它的编程语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,而封装、继承和多态三大特性则是它成"神"的关键。
  4. 动态语言: 动态语言,又称为弱类型语言,是指变量在创建时不需声明类型,具体类型根据指向的内存单元中的数据类型决定,即指向什么类型就是什么类型。相反,静态语言(强类型语言),定义变量时需要声明类型,变量指向的内存单元可存放的数据类型固定。例如,Python中定义一个整数变量为num = 10,而在Java中则为int num = 10;。总结:动态类型,指向可变,内存单元中的内容不可变;静态类型,指向不可变,内容可变。
  5. 解释型语言: 编译型语言,如C++
  6. 요약:
  7. 단순하고 우아하며 확장 가능하며 실용적이고 플랫한 것이 핵심이며 최고의 솔루션은 단 하나뿐입니다???
  8. 3.3 장점과 단점
  • 장점:
    배우기 쉽고 확장 가능:

    읽기 좋은 Python 프로그램은 코드의 가독성을 높이기 위해 들여쓰기를 강제하는 등 요구 사항이 매우 엄격하지만 아름다운 기사를 감상하는 것과 같습니다. Python의

    의사코드 특성
    덕분에 언어 자체를 이해하기보다는 문제 해결 논리에 더 집중할 수 있습니다. 예를 들어 메모리 관리와 같은 하위 수준 세부 사항에 너무 많은 주의를 기울일 필요가 없습니다. Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)중요한 코드를 더 빠르게 실행
    (C는 Python보다 50배 이상 빠릅니다)하거나

    특정 알고리즘이 공개되지 않기를 원하는 경우 C 또는 C++를 사용할 수 있습니다. 프로그램의 일부인 Language를 선택한 다음 Python 프로그램에서 호출합니다.

    🎜무료 오픈 소스 및 이식 가능:🎜 Python은 🎜FLOSS🎜(무료/오픈 소스 소프트웨어) 중 하나입니다. 즉, 이 소프트웨어의 복사본을 자유롭게 배포하고, 소스 코드를 읽고, 변경하고, 일부를 변경할 수 있습니다. 새로운 자유 소프트웨어에 사용됩니다. 오픈 소스 특성으로 인해 🎜Python은 Windows, Linux 등과 같은 많은 컴퓨터 플랫폼에서 이식 가능합니다🎜. 🎜🎜🎜객체 지향:🎜 Python은 절차 지향 프로그래밍과 객체 지향 프로그래밍을 모두 지원합니다. 🎜"절차 지향" 언어🎜에서 프로그램은 재사용 가능한 코드인 절차 또는 단순히 함수로 구축됩니다. 🎜"객체 지향" 언어🎜에서 프로그램은 데이터와 기능을 결합한 객체로 구축됩니다. C++ 및 Java와 같은 다른 프로그래밍 언어와 비교하여 Python은 매우 강력하고 간단한 방식으로 객체 지향 프로그래밍을 구현하며 캡슐화, 상속 및 다형성의 세 가지 주요 기능이 "신"의 핵심입니다. 🎜🎜🎜동적 언어:🎜 🎜약한 유형의 언어🎜라고도 알려진 동적 언어는 변수가 생성될 때 유형을 선언할 필요가 없음을 의미합니다🎜. 특정 유형은 가리키는 메모리 단위의 데이터 유형에 따라 결정됩니다. 즉, 어떤 유형이 어떤 유형을 가리키는지입니다. 반대로 🎜정적 언어(강력한 유형의 언어)🎜는 변수를 정의할 때 🎜타입을 선언해야 하며🎜, 변수가 가리키는 메모리 단위에 저장할 수 있는 데이터 타입이 고정되어 있습니다. 예를 들어 정수 변수는 Python에서는 num = 10으로 정의되지만 Java에서는 int num = 10;입니다. 요약: 동적 유형은 변수를 가리키고, 메모리 단위의 내용은 불변이며, 정적 유형은 불변을 가리키며, 내용은 가변입니다. 🎜🎜🎜해석된 언어:🎜 🎜컴파일된 언어🎜(예: C++🎜로 작성된 프로그램)는 소스 파일(C++ 언어)에서 컴퓨터에서 사용하는 언어, 즉 바이너리 코드( 0과 1)🎜. 이 프로세스는 컴파일러와 다양한 플래그 및 옵션을 통해 수행됩니다. 프로그램을 실행하면 연결 리프린터 소프트웨어가 프로그램을 하드 디스크에서 메모리로 복사하여 실행합니다. 그리고 🎜Python 언어로 작성된 프로그램은 바이너리 코드🎜로 컴파일할 필요가 없습니다. 소스 코드에서 직접 프로그램을 실행할 수 있습니다. 컴퓨터 내부에서 🎜Python 인터프리터는 소스 코드를 바이트코드라는 중간 형식으로 변환한 다음 컴퓨터에서 사용하는 기계어 코드로 변환하여 실행🎜합니다. Python 프로그램이 작동하려면 다른 컴퓨터에 복사하기만 하면 되기 때문에 Python 프로그램을 더 쉽게 이식할 수 있습니다. 🎜🎜🎜풍부한 라이브러리:🎜 Python의 자체 표준 라이브러리 및 타사 라이브러리를 포함합니다. 그 중 Python의 표준 라이브러리는 정규 표현식, 문서 생성, 스레드, 데이터베이스, HTML, GUI 등 다양한 작업을 처리하는 데 도움이 될 수 있습니다. 이것을 🎜Python의 "모든 기능을 갖춘" 철학🎜이라고 합니다. Python은 표준 라이브러리 외에도 wxPython, Twisted 및 Python 이미지 라이브러리와 같은 타사 라이브러리의 설치도 지원합니다. 🎜🎜🎜🎜🎜단점:🎜 Python 언어는 눈에 띄는 단점이나 단점이 없이 매우 완벽합니다. 유일한 단점은 🎜느린 실행 효율성🎜인데, 이는 통역 언어에서 흔히 나타나는 현상입니다. 그러나 이러한 결함은 컴퓨터 하드웨어의 성능이 지속적으로 향상됨에 따라 약화될 것입니다. 🎜🎜🎜3.4 애플리케이션 시나리오🎜🎜🎜🎜🎜추천 학습: 🎜python 튜토리얼🎜🎜

    위 내용은 Python에 대한 간략한 소개(그림과 텍스트로 자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제