Python自学——The One Day(Python基础——介绍)

2023-11-16

Python基础——介绍

前言

编译型语言和解释型语言

计算机是不能识别高级语言的,所以当我们运行一个高级语言程序时,需要有一个"翻译机"来把高级语言转换成计算机能读懂的机器语言,这个过程包括两个部分,编译和解释。
编译型语言在程序执行之前,会先通过编译器对程序进行一次编译的过程,把程序转变为机器语言,运行时直接执行。比如C语言。
解释型语言没有编译过程,在程序运行的时候,通过解释器对程序逐行做出解释,然后直接运行。比如Ruby。
总结:编译型语言再程序运行之前就已经对程序做出了翻译,所以一般运行时直接执行,效率比较高;当然也存在特殊的,有些解释型语言也可以通过解释器的优化来对程序翻译时做出优化,从而可在效率上超过编译语言。

Python是什么?

Python是一种解释型,面向对象,动态数据类型的脚本编程的程序设计语言。
Python是从ABC数学语言的基础上发展而来的。添加了很多ABC没有的功能,还设计了很多丰富且强大的库,使用这种库可以把使用其他语言制作的各种模块轻松的连结再一起。

  • 这里的库和模块,简单理解成一个个的源文件就行,每个文件中都包含可实现各种功能的方法(也可以称为函数)。

Python的优缺点是什么?

优点

  • 开源
  • 语法简洁明了,容易上手。
    :代码格式的要求没有那么严格,
    举例子:
    ①Python不要求在每个语句的最后写分号,写与不写都可以。
    ②定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
    ③和其他编程语言相比,实现同一个功能,Python语言的实现代码往往是最短的。
  • 属于高级语言
    原因是封装比较深,屏蔽了很多底层细节。所以使用起来比较方便,但底层细节了解较少。
  • 标准库和第三方库众多,功能强大。
  • 解释型语言,能跨平台
    可移植性比较好。
  • 面向对象
    既支持面向过程,也支持面向对象,更加灵活。
  • 可扩展
    可以混合使用C、Java语言编写。

缺点

  • 运行速度慢
    解释型语言的通病。
    一边运行一边"翻译"源代码,再加上封装比较深,很多底层工作比较消耗资源。
  • 代码加密困难
    编译型语言的源代码会被编译成可执行的程序,python是直接运行源代码,因此对源代码加密比较困难。

Python的运行过程

python代码的编译结果就是pyCodeObject对象,

过程概述:

  1. 编写源代码(.py文件)。
  2. 将.py文件编译成字节码文件。
  3. 字节码虚拟机执行字节码指令。

字节码:

字节码在python虚拟机程序里对应的时pyCodeObject对象,.pyc文件是字节码在磁盘上的表现形式。

pyc文件:

pyCodeObject对象的创建时机是模块加载的时候,也就是import。
举例:
python test.py回对test.py进行编译成字节码并解释执行,但是不会生成test.pyc。
如果test.py加载了其他模块,如import util,python会对util.py进行编译成字节码,生成util.pyc,然后对字节码解释执行。
如果想生成test.pyc,可以使用python内置模块py_compile来编译。
加载模块时,如果同时存在.py和.pyc,python会尝试使用.pyc,如果.pyc的编译时间早于.py的修改时间,则重新编译.py并更新.pyc。

图片来源:https://zhuanlan.zhihu.com/p/143815259

Python能干什么?

1、web开发

结合python、html、css、JavaScript、数据库等开发一个网站。

2、数据科学

包括机器学习、数据分析、数据可视化。

  • 机器学习:人工智能、机器人、语言识别、图像识别、自然语言处理、专家系统等
  • 数据分析/可视化:大数据分析。

3、网络爬虫(注:现在好像法律不允许,此概念仅供参考学习。)

又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。
爬虫领域,python是必不可少的一部分,它将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。

4、自动化运维

能够解决当下运维工作重复、繁杂的问题,让运维工作变的简单、快速、准确。

5、嵌入式应用开发

6、游戏开发

7、桌面应用开发

怎样学好Python?

当然是分阶段有计划的去学习了,我的学习计划是:
图片来源:https://blog.csdn.net/u014044812/article/details/88079011
图片来源地址

注:
文章中部分内容借用了他人的意见和思想,最终结合自己的理解整理而成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python自学——The One Day(Python基础——介绍) 的相关文章

随机推荐

  • vector模板类的简单实现 C++

    学了模板类那一节 所以动手自己用C 简单实现了一下 vector 的几个简单函数 直接上代码吧 include
  • JVM内存溢出与内存泄露

    1 什么是内存溢出 当前创建的对象的大小大于可用的内存容量大小 发生内存溢出 2 什么是内存泄露 该回收的垃圾对象没有被回收 发生了内存泄露 垃圾对象越堆越多 可用内存越来越少 若可用内存无法存放新的垃圾对象 就导致内存溢出 内存泄露会导致
  • 华为云云耀云服务器L实例评测|redis漏洞回顾 & MySQL数据安全解决 搭建主从集群MySQL & 相关设置

    前言 最近华为云云耀云服务器L实例上新 也搞了一台来玩 期间遇到过MySQL数据库被攻击的情况 数据丢失 还好我有几份备份 没有造成太大的损失 后来有发现Redis数据库被攻击的情况 加入了redis密码初步解决问题 总之就是各种遭受毒打
  • 2023年网络与信息安全国际会议(NISecurity 2023)

    会议简介 Brief Introduction 2023年网络与信息安全国际会议 NISecurity 2023 会议时间 2023年10月13日 15日 召开地点 中国 杭州 大会官网 www nisecurity org 2023年网络
  • python之selenium-web自动化<一>

    python之web自动化 二 戳这里 一图了解整个代码驱动浏览器的过程 前提 Chrome浏览器驱动下载地址 http chromedriver storage googleapis com index html Firefox 火狐 浏
  • 【vscode单位转换】px、rem、rpx相互转换工具

    文章目录 一 px rem px rem rem px 我失效了 写个新的 二 px rpx 三 rpx px 重点 四 新 px rem px rem rem px 记录学习的轨迹 2022 06 20 之前写在wiki里 移植记录 具体
  • global lib dirs 在设置多个编译器时仍旧使用旧的编译器路径

    BB的地方 以前自己用arm linux gnueabihf的5 4 1的版本编译测试了虚拟键盘 全部都没有问题 突然呢 说不行 就要用厂家给的arm realarm的5 5版本 原本Qt用5 13 0 那不行 要用13 2的 那拜托你之前
  • springboot项目制作docker镜像,如何动态传递变量值?

    springboot项目制作成docker镜像后 如何给properties文件的变量动态传递值呢 步骤1 将properties文件设置为如下形式 serverUrl SERVER URL apiKey API KEY 步骤2 制作成do
  • 如何重启mysql服务?

    Mysql在修改my ini文件后 如修改字符集 需要重启服务才能生效 下面介绍如何重启mysql服务 1 Win R 输入cmd 确定后进入命令窗口 输入命令net stop mysql 停止当前mysql服务 2 如果出现如图所示错误
  • JAVA 获取指定月份的每周的开始日期和结束日期

    1 第一种情况 从1号开始到月份最后一天结束 代码如下 private DateTimeFormatter dateTimeFormatter DateTimeFormatter ofPattern yyyy MM dd public Li
  • Arduino和Python卡尔曼滤波对四元数进行姿态测定

    在本文中 我将演示使用EKF 扩展卡尔曼滤波 对四元数确定姿态的实现 并说明将多个传感器数据融合在一起以使系统正常工作的必要性 将要使用的传感器是陀螺仪 加速度计和磁力计 Arduino用于从传感器读取数据 但是数据处理将在python中完
  • 移动端开发框架

    总体概述 现在比较流行的移动APP开发框架有以下六种 网页 混合 渐进 原生 桥接 自绘 前三种体验与Web的体验相似 后三种与原生APP的体验相似 这六种框架形式 都有自己适用的范围 无所谓好坏 适用就是好 网页应用适用于传统网站APP化
  • 手写vue(三)模板渲染解析

    一 目标 创建一个Vue实例时 我们可以传入el配置项 去指定一个DOM元素作为Vue容器 而这个Vue容器中 可以使用例如插值表达式等Vue框架提供的语法 并且能够渲染到浏览器页面上 而浏览器并不能解析这些Vue语法 因此 Vue框架是通
  • python: How to Create a Python Package

    StudentScoreInfo py 学生成绩类 date 2023 06 16 edit Geovin Du geovindu 涂聚文 ide PyCharm 2023 1 python 11 import datetime impor
  • GAN生成手写数字实例讲解Colab使用教程

    Colab 全称Colaboratory 是谷歌提供的一个在线工作平台 可以与谷歌云盘协作使用 我们可以在Colab平台上运行代码 而且大部分常用的包都已经安装好 不需要再进行安装 也不需要进行环境配置 非常方便快捷 对于初学者来说非常友好
  • 颠覆传统逻辑的C程序

    1 在main之前运行的C代码 before main c include
  • k8s 部署spring cloud项目

    微服务架构是一项在云中部署应用和服务的新技术 大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务 而红帽说API应该是重点 微服务可以在 自己的程序 中运行 并通过 轻量级设备与HTTP型API进行沟通 关键在于该服务可以在
  • LouvainMethod分布式运行的升级之路

    1 背景介绍 Louvain是大规模图谱的谱聚类算法 引入模块度的概念分二阶段进行聚类 直到收敛为止 分布式的代码可以在如下网址进行下载 GitHub Sotera spark distributed louvain modularity
  • Windows下SpringBoot连接Redis的正确使用姿势

    1 安装Redis 1 1通过wsl安装redis 参考官方安装文档 需要在wsl2上安装redis服务 注意我们启动redis的方式 First way 采用官方文档的方式 sudo service redis server start
  • Python自学——The One Day(Python基础——介绍)

    文章目录 Python基础 介绍 前言 编译型语言和解释型语言 Python是什么 Python的优缺点是什么 优点 缺点 Python的运行过程 Python能干什么 怎样学好Python Python基础 介绍 前言 编译型语言和解释型