Python 01 初识python

目录

一、编程是怎么来到我们这个世界的?

二、Python的由来?

三、什么是python?

3.1面向对象和面向过程

3.1.1面向对象

3.1.2 面向过程

3.2解释性

3.2.1 编译性 

3.2.2 解释性 

3.3交互式

四、Python3和Python2

五、python和其他语言之间的对比

六、python的优势

七、学python能做什么?


一、编程是怎么来到我们这个世界的?

当计算机来到我们这个世界之后,我们希望让计算机为我们做一些事情。但是它们听不懂我们在说什么,所以我们要用它们的语言去与它们进行对话,从而使得它们能够为我们所用。于是编程应运而生。

二、Python的由来?

Python诞生于1989年的一个圣诞节,但是第一个发行版本是在1991年发行的,其创作者Guido van Rossum为了打发圣诞节假期的无聊,便开始了Python语言的编写。起名为Python是源自于Guido喜欢的一档电视节目——Monty Python´s Flying Circus 。Guido在创作Python的时,希望有一种语言可以像C语言那样可以调用计算机的功能接口,又可以像shell那样进行轻松的编程,所以他在1989年的时候创建了Python这门编程语言。

①即使Guido已经准确的知道了如何用C语言实现这一功能,但整个编写过程需要耗费大量的时间,这使得他很不爽的第一条原因。

②我们知道linux下的shell通过几条命令就可以实现想要的功能,它可以像胶水一样,将linux下的许多功能连接在一起。许多C语言下上百行的程序,在shell下只用几行就可以完成,于是他比较喜欢shell这种方式。但是shell的本质是调用命令,它并不是一个真正的语言,不能像c语言一样全面的调动计算机的功能。

③所以他想发明一种既能像c语言一样能够调用计算机功能,又像shell一样轻松编程实现自己的想法的语言。于是Python应运而生。

三、什么是python?

python是一种面向对象、解释性、交互式计算机程序设计语言

3.1面向对象和面向过程

3.1.1面向对象

比如拿一个人people来为例,他有各种各样属性,他的身份可能是个老师,年龄大概24岁,爱好打篮球,那么在程序中我们只需要把这些属性封装到people对象中,通过对象people就能够得到对应的属性。

3.1.2 面向过程

其实往冰箱里放东西就是这样的思想:第一步打开冰箱,第二步将东西放入冰箱,第三步关上冰箱,这整个流程下来就是一个过程。而面向过程的语言实际上就是注重于过程的思想。

3.2解释性

3.2.1 编译性 

编译性语言比如 C 或 C++ 写的程序需要将源代码通过预处理-编译-汇编-链接后,生成计算机可执行的机器码语言(二进制代码,即0和1)。

  • 预处理:展开#include头文件,宏替换、去掉注释、条件编译#if... ...
  • 编译:检查语法,生成汇编语言(.s文件)
  • 汇编:将汇编代码转换为机器码(.o文件)
  • 链接:将各个模块的机器码文件、依赖库连起来生成计算机可执行的文件

3.2.2 解释性 

 解释性语言比如Python或JavaScript写的程序不需要编译成二进制代码。它只是在运行程序的时候在计算机内部Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

 计算机内部Python解释器:

就是python环境,将代码翻译成二进制

3.3交互式

python执行代码 和linux终端命令行或windows下的终端一样简单,在python提示符>>>后可直接执行代码。

windows终端下提示符比如:C:\>

linux终端下命令符比如:darren@darren: ~$

python提示符: >>>

四、Python3和Python2

Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。许多针对早期 Python 版本设计的程序都无法在 Python 3.0 上正常执行。为了照顾现有程序,Python 2.6 作为一个过渡版本,基本使用了 Python 2.x 的语法和库,同时考虑了向 Python 3.0 的迁移,允许使用部分 Python 3.0 的语法与函数。

2020 年 1 月 1 日,官方宣布停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。而大多数第三方库都正在努力地相容 Python 3.0 版本,因此我们只学习Python3就可以了。

五、python和其他语言之间的对比

用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个音乐,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。

(1)python实现功能所用的代码量相对少

不同的编程语言,干同一个活,编写的代码量,差距也很大。比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。所以Python是一种相当高级的语言。

(2)python运行速度相对慢

代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

①Python被发明的初衷就是能够像shell编程一样简单实现自己的想法,所以在表面上看代码很少,但是它是调用许多的库、函数实现的,在内部需要耗费很多时间去处理;

②Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

六、python的优势

(1)有着最庞大的免费“代码库”,给使用者足够的资源实现自己想要的功能

(2)人工智能、大数据分析的重要支撑语言

(3)被称为“胶水语言”,能很好包装盒调用其他编程语言写的库

(4)是一种脚本语言,和其他编程语言相比更加简洁高效

七、学python能做什么?

可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。

Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。

python可以取代javascript作为网站后端开发,比如豆瓣就是Python做的;python可以编程爬虫,爬取网站上各种你想要的资源;当然它还可以用在人工智能领域。

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

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

相关文章

基于LiFePO4和硅/还原氧化石墨烯纳米复合材料的锂离子电池

A lithium-ion battery based on LiFePO4 and silicon/reduced graphene oxide nanocomposite highlights: 硅纳米颗粒(nSi)和还原氧化石墨烯(RGO)作为阳极;微波辐射,对混合物进行热处理,合成nSi/RGO复合物;通过不同充…

Jsoup使用教程以及使用案例

文章目录1:什么是Jsoup1:Jsoup概述2:Jsoup能做什么2:Jsoup相关概念3:获取文档1:导入jsoup的jar包2:从URL中加载文档对象(常用)3:从本地文件中加载文档对象4&a…

2023 海外工具站 3 月复盘

3 月的碎碎念,大致总结了商业人生、付费软件、创业方向选择、创业感性还是理性、如何解决复杂问题及如何成长这几个方面的内容。 商业人生 商业人生需要试错能力和快速信息收集与验证校准; 商业逻辑需要试错能力,收集各种渠道信息后整理决…

手把手教你一步一步暴力破解密码,学不会来找我

目录 一、什么是暴力破解? 二、暴力破解弱口令实验 三、如何防御暴力破解攻击? 一、什么是暴力破解? 暴力破解也可称为穷举法、枚举法,是一种针对于密码的破译方法,将密码进行逐个推算直到找出真正的密码为止。设置长而…

[学习笔记] 3. C++ / CPP提高

本阶段主要针对C泛型编程和STL技术做详细讲解,探讨C更深层的使用。 [学习笔记] 3. C / CPP提高1. 模板1.1 模板的概念1.2 函数模板1.2.1 函数模板语法1.2.2 函数模板注意事项1.2. 3函数模板案例1.2.4 普通函数与函数模板的区别1.2.5 普通函数与函数模板的调用规则1.…

HTML标签

目录 1.注释标签 2.标题标签:h1-h6 3.段落标签 4.换行标签 5.转义字符 6.格式化标签 7.图片标签:img 8.超链接便签:a 9.表格标签 10.列表标签 11.表单标签 12.无语义标签:div&span 1.注释标签 <!-- 我是注释 --> ctrl/快捷键可以快速进行注释/取消注释 …

PVE虚拟机安装爱快/iKuai软路由(爱快软路由虚拟机系统安装教程)

上篇提到PVE后&#xff0c;装LINUX CENTOS8&#xff0c;现在装个爱快软路由. 一、软硬件要求 1、安装好PVE虚拟环境的X86系统&#xff0c;32位爱快系统需要512MB以上内存&#xff0c;64位爱快系统需要4GB以上。 2、双网口主板&#xff0c;如果是单网口要配置openwrt/LEDE为单…

【C语言编程练习】手撕扫雷

【C语言编程练习】手撕扫雷一、目标二、具体实现步骤1、棋盘的设计思路2、选定模式3、创建及初始化棋盘4、布置雷到棋盘5、打印棋盘6、排查雷7、递归版统计雷数8、判断是否胜出的函数三、完整代码逻辑展示1、Minesweeping.h2、Minesweeping.c3、test.c一、目标 之所以打算将扫…

板内盘中孔设计狂飙,细密间距线路中招

一博高速先生成员&#xff1a;王辉东大风起兮云飞扬&#xff0c;投板兮人心舒畅。赵理工打了哈欠&#xff0c;伸了个懒腰&#xff0c;看了看窗外&#xff0c;对林如烟说道&#xff1a;“春天虽美&#xff0c;但是容易让人沉醉。如烟&#xff0c;快女神节了&#xff0c;要不今晚…

AHP层次分析法分析流程

AHP层次分析法分析流程&#xff1a; 一、案例背景 当前有一项研究&#xff0c;想要构建公司绩效评价指标体系&#xff0c;将一级指标分为4个&#xff0c;分别是&#xff1a;服务质量、管理水平、运行成本、安全生产&#xff0c;现在想要确定4个指标的权重。 AHP层次分析法是一…

【MySQL】 SQL 执行顺序 OR 递增id用完了怎么办呢?哪个问题难回答

这里写目录标题写在前面基础概念SQL 执行顺序FROMONJOINWHEREGROUP BYHAVINGSELECTDISTINCTORDER BYMysql 自增 ID用完了1.有主键的情况解决方案2.没有主键解决方案&#xff1a;总结写在前面 三月已经结束了&#xff0c;不知道这个月你有没有被邀请面试&#xff0c;如果有面试…

【C++笔试强训】第二天

选择题 解析&#xff1a;考查printf&#xff0c;%后面-表示输出左对齐&#xff0c;输出左对齐30个字符格式为%-30f&#xff0c;.后面表示精度。%e字符以指数形势输出&#xff0c;可以认为是double类型&#xff08;也就是小数点后保留6位&#xff09;的指数。为%f字符表示输出格…

JVM问题(二) -- 内存泄漏

1. 什么是内存泄漏&#xff1a; 2. 内存泄漏的理解&#xff1a; 严格来说&#xff0c;只有对象不会再被程序用到了&#xff0c;但是GC又不能回收他们的情况&#xff0c;才叫内存泄漏。 但是实际情况很多时候一些不太好的实践&#xff08;或疏忽&#xff09;会导致对象的生命周…

2023年3月华为HCIA认证新增题库(H12-811)

850、 SNMP报文是通过 TCP来承载的。 A、对 B、错 试题答案&#xff1a;[["B"]] 试题解析&#xff1a; 851、 Trunk端口可以允许多个 VLAN通过,包括 VLAN4096。 A、对 B、错 试题答案&#xff1a;[["B"]] 试题解析&#xff1a; 852、 RADIUS是实…

【websocket消息推送】前端+后端实现websocket消息推送的整个生命周期(附源码详解)

【写在前面】写这篇文章的原因主要还是博主在工作的过程中遇到了一个困难&#xff0c;就是客户端开了两个一模一样的窗口&#xff08;A和B&#xff09;&#xff0c;然后A窗口触发一个请求&#xff0c;请求后是推送到前端的&#xff0c;但是推送的消息只推给了B&#xff0c;而A没…

【C++笔试强训】第三天

选择题 解析&#xff1a;字符数组里面的最后一个字符是0&#xff0c;说明里面本身就是一个字符串——"123456789"&#xff0c;数组名表示数组首元素的地址&#xff0c;那么p a i指向的就是字符数组中元素9&#xff0c;那么p - 3就是指向元素6的地址&#xff0c;%s打…

在VScode中配置Python开发环境----需要注意的一个点:settings.json

在VScode中配置Python开发环境&#xff08;可以参考这个博主的方法&#xff09;&#xff1a; http://t.csdn.cn/L1jux 1、安装python 官网下载地址&#xff1a;https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe 双击打开.exe文件 勾选 Add Python 3.8 to Pat…

【计算机视觉 | 目标检测】DETR风格的目标检测框架解读

文章目录一、前言二、理解2.1 DETR的理解2.2 DETR的细致理解2.2.1 Backbone2.2.2 Transformer encoder2.2.3 Transformer decoder2.2.4 Prediction feed-forward networks (FFNs)2.2.5 Auxiliary decoding losses2.3 更具体的结构2.4 编码器的原理和作用2.5 解码器的原理和作用…

刚刚,Frontiers in Psychology 取消on hold状态,但这本期刊仍在评估中

3月28日时&#xff0c;Frontiers in Psychology仍处于on hold状态。 就在刚刚&#xff01;小编查询Frontiers in Psychology时&#xff0c;发现Master Journal List中&#xff0c;期刊Frontiers in Psychology的on hold标识没有了&#xff0c;这表示期刊目前正被SSCI数据库收录…

独立部署基于apiKey或accessToken的GPT聊天工具

最近chat-GPT的强大功能让人新潮澎湃,大家都在讨论,都想尝试一下。。。 奈何用不了!自己整整,内附具体步骤,如何用手机验证码注册,如何自己搭一个前端,nodejs后端,可以访问自己的GTP。 先上图: 自己搭的: 官网: 步骤一、用个代理 因为没这个无法访问GPT官网 忍…