【Python】入门Python,你必须了解这些事

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️Python】


文章目录

  • 前言
  • 一、认识Python
    • 什么是Python?!
    • Python的起源
    • Python的特点
      • 简洁易读
      • 跨平台,可移植
      • 拥有强大的库和框架
      • 面向对象
  • Python的优缺点
    • 优点
    • 缺点
  • Python的应用环境
  • 扩展资料——Python发展时间表
  • 扩展资料——FLOSS


前言

暑假到了,相信有很多小伙伴想要蹭这个假期学会一门编程语言,比如C,C++,JAVA等等,但我认为Python一定会是你最好的选择。从今天起我将会开展一个全新的系列教程,无论你是零基础小白,还是有着多年开发经验的巨佬,这系列课程都能给你带来不一样体验。想了解更多Python内容请订阅内容【Python系列教程】
在这里插入图片描述

一、认识Python

当我们学习一门语言的时候,最先需要去了解它,知道它是怎么来的,应该使用在那些场景,相比较其他原因它有那些优缺点.首先我们来介绍一下Python这门语言。

什么是Python?!

在这里插入图片描述

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发——百度百科

Python的起源

Python是由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,最初是作为一门叫做ABC语言的替代品而设计的。Python 本身也是由诸多其他语言发展而来的,因此你能在它身上看到许多语言的影子如 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
在这里插入图片描述

Python的特点

最为一门极其优秀的高级程序设计语言,Python同时拥有多种特点。

简洁易读

其语法简单清晰,相比于其他语言它更加易于阅读和学习, 相对较少的关键字更易于记忆,结构简单,和一个明确定义的语法,学习起来更加简单,也因此更受编程入门者的欢迎。

跨平台,可移植

基于其开放源代码的特性,Python可以在多个操作系统上运行,其中就包括Windows、Linux和Mac等。

拥有强大的库和框架

Python拥有丰富的标准库和第三方库,可以用于各种任务,如Web开发、科学计算、数据分析等。

——Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX、Windows 和 Mac 兼容很好。

面向对象

Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

Python的优缺点

优点

简单易学——Python 极其容易上手。前面已经提到了,Python 有极其简单的语法。
免费、开源——Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
高层语言——当你用 Python 语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性 – 由于它的开源本质,Python 已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
解释性 – 这部分内容我们将在接下来的内容进行详细讲解
面向对象 – Python 既支持面向过程的编程也支持面向对象的编程。
可扩展性 – 如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用 C 或 C++ 编写,然后在你的 Python 程序中使用它们。
丰富的库 – Python 标准库可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 和其他与系统有关的操作。除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted 和 Python图像库等等。
规范的代码 – Python 采用强制缩进的方式使得代码具有极佳的可读性。

缺点

——运行速度,相对于其他编程语言,Python的执行速度较慢。
——Python的内存消耗较大,由于Python的动态类型和垃圾回收机制,它需要更多的内存来管理和存储对象。这可能导致在处理大数据集或运行内存要求较高的应用程序时出现内存问题。
——Python的全局解释器锁(GIL)限制了多线程的并行性能。GIL是Python解释器的一部分,它确保在同一时间只有一个线程可以执行Python字节码。这意味着在多线程应用程序中,多个线程无法并行执行Python代码,从而限制了并行性能。
——构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
——Python在处理底层系统和硬件相关的任务时效率较低。由于Python的高级抽象和动态特性,它可能不适合用于编写底层系统和硬件驱动程序等需要高性能和精确控制的任务。

Python的应用环境

Python的应用环境非常广泛,可以用于开发各种不同类型的应用程序。

Python解释器(CPython):这是默认的Python解释器,可以在命令行中直接运行Python代码。
Python集成开发环境(IDE):许多IDE都提供了针对Python的支持,包括PyCharm、Visual Studio Code、Spyder等。
Jupyter Notebook:这是一个交互式的开发环境,可以在浏览器中直接编写和运行Python代码,并且可以将代码、图像、文本和公式组合在一起进行展示。
Web开发框架:Python有多个流行的Web开发框架,包括Django和Flask,可以用于构建Web应用程序和API。
数据科学工具:Python在数据科学领域中非常流行,有许多用于数据分析和机器学习的库和工具,如NumPy、Pandas、Scikit-learn和TensorFlow。
系统管理工具:Python可以用于编写系统管理脚本,例如自动化任务、配置管理和日志分析。
游戏开发:Python也可以用于开发游戏,有一些游戏引擎和库,如Pygame和Pyglet,可以用于创建2D游戏。
科学计算和可视化:Python有许多科学计算和可视化库,如Matplotlib和Seaborn,可以用于数据分析和可视化。
——Chatgpt

扩展资料——Python发展时间表

——1995年,Guido van Rossum在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,并在那里发布了该软件的多个版本
——2000年五月,Guido van Rossum和Python核心开发团队转到BeOpen.com并组建了BeOpen PythonLabs团队。同年十月,BeOpen PythonLabs团队转到Digital Creations(现为Zope Corporation)。
——2001年,Python软件基金会(PSF)成立,这是一个专为拥有Python相关知识产权而创建的非营利组织。Zope Corporation是PSF的赞助成员。
Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中单词Python(意为大蟒蛇)作为该编程语言的名字,是因为英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
——Python 已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。
——2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。——百度百科

扩展资料——FLOSS

FLOSS 是基于一个团体分享知识的概念。这是为什么 Python 如此优秀的原因之一——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进着的。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux ls文件排序

linux可以使用ls命令结合一些选项来按照文件大小对文件和目录进行排序。以下是一些常用的方法: 1、这里,-l 选项表示长格式输出(包括文件权限、所有者、大小等),-S 选项表示按照文件大小排序,-h 选项表示以…

PHP留守儿童关爱之家网站-计算机毕业设计源码11079

目录 1 绪论 1.1 研究背景 1.2研究意义 1.3 论文结构与章节安排 2 留守儿童关爱之家网站系统分析 2.1 可行性分析 2.2 系统功能分析 2.3 系统用例分析 2.4 系统流程和逻辑 2.5本章小结 3 留守儿童关爱之家网站总体设计 3.1系统结构设计 3.2系统功能模块设计 3.2 数…

【算法训练记录——Day38】

Day38——动态规划Ⅰ 1.理论#2.leetcode_509斐波那契数3.leetcode_70爬楼梯4.kamacoder_57爬楼梯5.leetcode_746使用最小花费爬楼梯 1.理论 一般解题步骤: 确定dp数组及下标含义确定递推公式数组如何初始化确定递归顺序举例推导dp数组 #2.leetcode_509斐波那契数…

阿里云物联网应用层开发:第一部分,项目简介

文章目录 1、物联网应用层简介2、阿里云物联网应用层开发例程主要内容3、需要掌握基础知识 1、物联网应用层简介 应用层是物联网系统的用户界面,它提供了用户与系统交互的接口,这一层是将网络传输层的数据结果以易于理解和使用的方式呈现给用户&#xf…

linux虚拟机部署的MySQL如何使用外网访问?教你轻松使用cpolar在centos搭建内网穿透

文章目录 写在前面实现Linux的内网穿透1、官网账号注册2、在Linux部署我们自己的项目3、一键自动下载安装cpolar4、设置自己的token5、启动cpolar服务6、MySQL穿透测试 卸载方法 写在前面 相信很多小伙伴在本地搭建了一个MySQL数据库,想让其他同事或者合作者一起使…

BCFtools安装

记得之前安装这个软件的时候是非常简单的,但是今天重新安装的时候出现了很多的麻烦,想想还是做个记录吧! bcftools的下载地址如下: Releases samtools/bcftools (github.com)https://github.com/samtools/bcftools/releases/这里我们选用的…

【数据结构】(C语言):队列

队列: 线性的集合。先进先出(FIFO,first in first out)。两个指针:头指针(指向第一个进入且第一个出去的元素),尾指针(指向最后一个进入且最后一个出去的元素&#xff0…

Linux CentOS 7 离线安装.NET环境

下载 下载.NET 例如: aspnetcore-runtime-6.0.15-linux-x64.tar.gz 复制 复制到如下目录: /usr/local/dotnet/aspnetcore-runtime-6.0.15-linux-x64.tar.gz 解压 cd /usr/local/dotnet/ tar -zxvf aspnetcore-runtime-6.0.15-linux-x64.tar.gz 创建…

Linux开发讲课29---Linux USB 设备驱动模型

Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1. BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": US…

http.cookiejar.LoadError: Cookies file must be Netscape formatted,not JSON.解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

从直播消息中找到对应的proto协议内容

这么多直播间的消息,我们该怎么从里面找到我们需要的消息定义呢? 其实只要你能找到这个里面的this对象,就可以看到这个对象上面有一个root > webcast > im 这里面的函数就都是用于解析直播间消息的函数: 想要看一下每个消息…

短信API的集成过程步骤?有哪些注意事项?

短信API的安全性如何保障?怎么优化API接口的性能? 在现代通信和业务流程中,短信API的使用变得越来越普遍。短信API为企业提供了一种高效、可靠的方式来向客户发送信息。AoKSend将详细介绍短信API的集成过程步骤,帮助企业顺利实施…

2024.07使用gradle上传maven组件到central.sonatype,非常简单

本文基于sonatypeUploader2.0版本 在1.0版本我们还需要手动去添加maven-publish和signing插件,在2.0版本他已经内置了,如果你仍然需要手动配置,你可以手动添加这两个插件及逻辑。 具体信息参考开源仓库: 插件仓库:h…

一个时代的结束:Centos7将在6月30日退出历史舞台

友情提醒: 如果你使用的是曾经辉煌一时的CentOS Linux 7,一直拖延没有迁移,那么现在距离它正式寿终正寝还有不到一周的时间。 CentOS Linux 7 的结束日期仍定在2024年6月30日。红帽早在 2020 年就做出了有争议的举动,将重点转移到…

【人工智能学习之图像操作(一)】

【人工智能学习之图像操作(一)】 图像读写创建图片并保存视频读取色彩空间与转换色彩空间的转换通道分离理解HSV基本图形绘制 阀值操作OTSU二值化简单阀值自适应阀值 图像读写 图像的读取、显示与保存 import cv2 img cv2.imread(r"1.jpg")…

面试突击:ConcurrentHashMap 源码详解

本文已收录于:https://github.com/danmuking/all-in-one(持续更新) 前言 哈喽,大家好,我是 DanMu。这篇文章想和大家聊聊 ConcurrentHashMap 相关的知识点。严格来说,ConcurrentHashMap 属于java.lang.cur…

springboot+vue 开发记录(八) 前端项目打包

本篇文章涉及到前端项目打包的一些说明 我打包后的项目在部署到服务器上后,访问页面时按下F12出现了这种情况: 它显示出了我的源码,这是一种很不安全的行为 该怎么办?很简单: 我们只需要下载一点点插件,再…

鸿蒙开发Ability Kit(程序框架服务):【声明权限】

声明权限 应用在申请权限时,需要在项目的配置文件中,逐个声明需要的权限,否则应用将无法获取授权。 在配置文件中声明权限 应用需要在module.json5配置文件的[requestPermissions]标签中声明权限。 属性说明取值范围name必须,…

Python中爬虫编程的常见问题及解决方案

Python中爬虫编程的常见问题及解决方案 引言: 随着互联网的发展,网络数据的重要性日益突出。爬虫编程成为大数据分析、网络安全等领域中必备的技能。然而,爬虫编程不仅需要良好的编程基础,还需要面对着各种常见的问题。本文将介绍…

服装分销的系统架构

背景 服装的分销规则:组织结构由总公司代理商专卖店构成。总公司全权负责销售业务,并决定给代理商的份额;代理商再给货到专卖店,整个组织机构呈现树状结构;上级机构对下级机构拥有控制权,主要控制其销售的服…