热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python全栈开发【基础03】编程语言的分类

专栏介绍:本专栏为Python全栈开发系列文章,技术包括Python基础、函数、文件、面向对象、网络编程、并发编程、MySQL数据库、HTML、Java
专栏介绍:

本专栏为Python全栈开发系列文章,技术包括Python基础、函数、文件、面向对象、网络编程、并发编程、MySQL数据库、HTML、Javascript、CSS、JQuery、bootstrap、WSGI、Django、Flask、后期运维、git使用、Linux运维、Python结合Shell结合场景开发自动化脚本等一系列文章. 从入门到实战。 文章内容来自博主学习笔记,修整发布。


目录:

  • 专栏介绍:
  • 一、编程语言介绍:
    • 1.1 机器语言
    • 1.2 汇编语言
    • 1.3 高级语言
  • 二、python解释器
  • 三、运行python程序的两种方式
  • 四、一个python程序运行的三个步骤
  • 五、结束


一、编程语言介绍:

编程语言主要有三大类1、机器语言2、汇编语言、3、高级语言。
在高级语言当中分为两类,1、编译型2、解释型


1.1 机器语言


机器语言的话就是用0100101代码写程序,它的执行效率是最高的,速度最快的,因为是直接写的0101010无障碍理解此语言,最高级别的牛逼。但高发效率非常不方便,因为写代码0100101001001 特别费劲。记起来非常困难,一旦有一个数字记错了,就完蛋了,开发起来非常的复杂,跨平台性贼特码的差。


1.2 汇编语言


汇编语言和机器语言半斤八两,它就是把0101001001这行代码的功能用一个字母来代表而已,这样的话就解决了0101001记不住的问题,但是还是贼特码的慢。但是需要字母来代表说明还是需要研究01001010机器语言。


1.3 高级语言


人能听懂的语言,写出的来的程序需要一大堆翻译最后成为100101001010执行的程序,在翻译的过程中分为两种,编译型和解释型(翻译方式)


  • 编译型(c):编译型类似于谷歌翻译,对c进行翻译,写好一串c语言代码找一个翻译软件,把这个c语言翻译一下,这个翻译的结果就是01010010。这个翻译工具就是gcc编译,gcc翻译c语言翻译成了10010010二进制代码。这是编译型。 编译型———>翻译gcc————>10010010010
  • 解释性(python):解释性——>解释器转换成中间格式字节码——>解释器解释字节码然后一行行的执行,解释一行执行一行。高级语言的执行效率编译型语言的效率要很高,但是解释语言要慢一些。 编译型语言和解释型语言都是需要通过翻译100100101来运行,c语言编译第一次肯定是耗费时间的,但是第二次则不需要编译,因为里面就是00101001,但是解释型语言的执行的话需要每一次都需要解释。

但是编译型语言的开发效率很低,但是解释型语言的开发效率非常高。编译型语言的话如果有任何改动,需要重新修改,在去打包,还有跨平台性非常的差。 编译型对外是二进制文件,不是源代码
解释性语言的话,对外是源代码,跨平台性强,各个平台只要装好解释器就可以直接执行成功了。牛逼的,开发效率也很高,但是有一个问题,python代码都是提供代码不是很安全,但是目前的精神是开放源代码,开源!开源精神。


二、python解释器

打开python的官网,找到python2以及3macbook进行下载安装,查找安装位置将bin目录配置环境变量就可以运行了。

PATH=/Library/Frameworks/Python.framework/Versions/3.8/bin:$PATH
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH
export PATH

交互式的意思就是能够及时得到代码运行的结果,听起来比较高大上而已。

ayaodeMacBook-Air:~ ayao$ python
Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 19 2020, 20:48:48)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world")
hello world
>>>

python文件的后缀名py或者txt对python的解释器没有任何影响。文件后缀名并不影响代码的正常运行。

三、运行python程序的两种方式
  • 交互式运行,就是打开终端运行
  • 解释器软件运行,就是pycharm或者vscode

四、一个python程序运行的三个步骤

python3 /user/chengyao/yankerp.py

  • 1、打开python3的解释器
  • 2、解释器会发送系统调用,把yankerp.py的内容从硬盘中找到并且读入到内存,此时的yankerp.py中的内容全部为普通人能看懂的语言,没有语法意义
  • 3、解释器开始解释执行刚刚读入内存的代码,开始识别python的语法格式是否正确。

五、结束

在这里插入图片描述


推荐阅读
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 数据库(外键及其约束理解)(https:www.cnblogs.comchenxiaoheip6909318.html)My ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
author-avatar
崔颖2849464
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有