【人生苦短,我学 Python】(1)初识 Python

目录

  • 1. 简述
  • 2. 什么是 Python?
  • 3. 面向对象简述
    • 3.1 面向过程
    • 3.2 面向对象
    • 3.3 面向对象的主要优点
    • 3.4 面向对象的基本概念
    • 3.5 面向对象程序设计
  • 4. Python语言的版本和解释器
  • 5. Python 编程工具
  • 6. Python 的三种编程方式
  • 7. 简单的 Python 程序
  • 8. 高级一点的 Python 程序

1. 简述

这段时间在写爬虫和做数据分析,才发现有一些常用的函数已经不太记得了,因此接着这个机会,重新复习一下 Python,做做笔记,也回味一下那段美好的时光~

2. 什么是 Python?

Python 是一种解释型、面向对象的编程语言,是一个开源语言,拥有大量的库,可以高效地开发各种应用程序。它简单、高级、面向对象、免费开源,有可扩展性、可移植性、丰富的库和可嵌入性。

注意 Python 和 C 语言不一样,C 语言是编译型语言,而 Python 是解释型语言。那么编译型语言和解释型语言有什么区别呢?

  1. 编译型语言:
    它要求用户先把整个程序代码写好,随后进行编译,把源代码编译成机器语言的文件,如 exe 格式的可执行文件。因为只需编译一次,以后运行时不需要编译,直接运行可执行文件即可,所以编译型语言执行效率高。
  2. 解释型语言:
    它不要求用户一次性把整个程序代码写好,用户可以写一行,执行一行。解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低。

用通俗易懂的例子来讲吧:

比如现在在吃小龙虾,我们的最终目的都是吃完虾肉,

  • 如果你是先去除全部的虾壳再吃虾,那么这就是编译;
  • 如果你是剥好一只虾就吃一只虾,剥好一只虾就吃一只虾,那么这就是解释。

那么什么又是面向对象呢?

3. 面向对象简述

3.1 面向过程

  • 需要求解的问题域被视为待处理的一个大过程,经分析处理后,并根据问题的复杂程度,整个系统最终被分解为一个个易于处理的子过程。
  • 面向过程方法将过程(或函数)作为系统的主要构件,数据和对数据的操作(函数)分离。
    该方法对需求变化的适应能力差,并且处理大型、复杂问题时,系统维护困难。

像大家熟悉的 C 语言就是面向过程的编程语言。

3.2 面向对象

  • 直接以问题域中的事物(对象)为中心来思考问题,把对象作为系统的基本构成单位,又通过将对象之间的相互作用、相互联系映射到计算机系统来模拟现实客观世界。
  • 面向对象把数据和对数据的处理看成一个整体——对象,其概念和处理方法比较符合人类认识问题、分析问题和解决问题的一般规律。

比如我们今天介绍的 Python 就像面向对象的编程语言。

3.3 面向对象的主要优点

  1. 自然高效:可更客观更自然地描述现实世界。
  2. 易于重用:相关机制可方便继承已有或已经完成的工作,而不必一切从头开始。
  3. 便于维护:开发出的系统健壮,适应性和扩展性强。

3.4 面向对象的基本概念

  1. 对象:

    • 人们进行研究的任何事物统称为对象。
    • 对象可以是有形的实体,也可以是活动或事件等。
  2. 属性和方法:

    • 属性是描写对象静态特性的数据元素。
    • 方法是用于描写对象动态特性(行为特性)的一组操作。
  3. 封装:
    通过对象把数据以及对数据的操作结合在一起。

  4. 类:
    类是对一组具有相同特性的对象的抽象描述。

  5. 实例化:
    实例化是指在类定义的基础上构造对象的过程。

  6. 继承:
    一个新类(子类)从已有的类(父类)那里获得已有特性和功能。

  7. 多态:
    不同的对象可以以不同的方式响应相同的消息。

3.5 面向对象程序设计

面向对象程序设计(Object Oriented Programming,OOP):

  • 主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好地支持代码复用和设计复用,代码具有更好的可读性和可扩展性,大幅度降低了软件开发的难度。
  • 将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体(对象),不同对象之间通过消息机制来通信或者同步。
  • 对相同类型的对象进行分类、抽象后,得出共同的特征而形成了类,面向对象程序设计的关键就是如何合理地定义这些类并且组织多个类之间的关系。
  • 例如,绘图程序中的定义矩形类,一次执行时可以创建很多矩形对象。

4. Python语言的版本和解释器

  1. 版本:

    • 2 个主要版本:Python 2 和 Python 3;
    • Python 3 和 Python 2 不兼容。
    • Python 2 最迟将于 2020 年全面放弃维护和更新,建议学习和使用 Python 3,本次分享的代码皆使用 Python 3。
  2. Python 解释器:
    实现 Python 语言语法的程序是 Python 解释器,常用的 Python 解释器:

    • Cpython
    • Jython
    • IronPython
    • PyPy

5. Python 编程工具

Python 的编程工具:

  • IDLE(Python内置的集成开发环境)
  • Anaconda3(内含Jupyter Notebook和Spyder,做数据分析时常用)
  • PyCharm(本人使用的主要编程工具)
  • Visual Studio Code

6. Python 的三种编程方式

  1. 交互式:

    对每个输入语句即时运行结果,适合语法练习。
    例如,用 Python 解释器提供的命令行方式。

  2. 文件式:

    批量执行一组语句并运行结果,编程的主要方式。
    例如,用 Python 系统提供的 IDLE。

  3. Web方式:

    在网页中编写代码块,方便添加文字,显示图形,适合学习和算法研究。
    例如,Anaconda 的 Jupyter Notebook。

7. 简单的 Python 程序

  1. Hello World:
    让我们来试试入门每门编程语言前都会输出的一句话:Hello World

    print("Hello World!")
    

    输出:

    Hello World!
    
  2. 简单的算术运算:

    print(2023 + 10)
    print(2023 - 10)
    print(2023 * 10)
    print(2023 / 10)
    print(2023 % 10)
    print(2023 // 10)
    

    输出:

    2033
    2013
    20230
    202.3
    3
    202
    
  3. 计算矩形的面积:

    length = 3  # 矩形的长
    width = 4   # 矩形的宽
    print(f"矩形的面积为:{length * width}")
    

    输出:

    矩形的面积为:12
    
  4. 画图:

    import turtleturtle.pensize(2)
    turtle.circle(10)
    turtle.circle(40)
    turtle.circle(80)
    turtle.circle(160)
    

    输出:

    python画图

8. 高级一点的 Python 程序

  1. 扫雷:

    扫雷

  2. 画图——冰墩墩:

    在这里插入图片描述

  3. 爬虫:

  • 和平精英枪械库图片

    在这里插入图片描述

  1. 可视化大屏:

    在这里插入图片描述

  2. 知识系统:
    武汉大学建筑知识系统:

    在这里插入图片描述

  3. 背词软件:

    在这里插入图片描述

  4. 发送邮件:
    在这里插入图片描述

  5. 人工智能(机器学习、深度学习以及强化学习等):
    复现美国OpenAI公司开发的机器学习系统-Hide and Seek(捉迷藏)游戏系统:

    在这里插入图片描述

  6. 大数据分析:

    • IMDB数据集分析:
      在这里插入图片描述
  7. 此外还有诸如 web 开发等小程序,这里就不一一列举了。

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

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

相关文章

数据通信与计算机网络(精炼知识点)

前言 该部分知识点不多,分值3分 知识点 TCP TCP采用可变大小的滑动窗口协议进行流量控制。在前向纠错系统中,当接收端检测到错误后就根据纠错编码的规律自行纠错;在后向纠错系统中,接收方会请求发送方重发出错分组。IP协议不预先建立虚电路,而是对每个数据报独立地选择…

Linux快速显示文件行号并跳转

有时候,想要在线上直接查看日志文件,搜索到关键词后,如果一直按n找下去,很麻烦,我们可以先显示出行号,确定好我们要找内容对应的行号,直接跳转过去。 esc进入命令模式,输入:set nu命…

Cesium:CGCS2000坐标和WGS84坐标互相转换

作者:CSDN @ _乐多_ 本文记录了CGCS2000坐标和WGS84经纬度互相转换的js代码。封装成了函数。 文章目录 一、WGS84ToCGCS2000二、CGCS2000ToWGS84一、WGS84ToCGCS2000 import proj4 from "proj4";convertWGS84ToCGCS2000(wgs84X, wgs84Y, wgs84Z)

Amlogic方案遥控器配置(Android11)

配置路线 键值变化路径: ScanCode --> Keycode Lable --> KeyCode Layout --> KeyLable --> Keycode – > KeyEvent 文件映射路径: *.dtsi --> input-event-codes.h --> *.kl --> InputEventLable.h --> kecodes.h --> P…

通过这个简单的技巧让我们的 JavaScript 代码变得异常快

通过这个简单的技巧让我们的 JavaScript 代码变得异常快 秘诀:了解JavaScript 虚拟机(VM)的内部工作原理。 首先,我们来谈谈像 V8 这样的JavaScript 虚拟机(VM)。可以把它想象成我们的操作的大脑 —— 它将我们简洁的代码变成计算机可以理解和执行的东…

免费图书教材配套资料:Spark大数据技术与应用(第2版)

《Spark大数据技术与应用(第2版)》课程内容全面介绍了Spark大数据技术的相关知识,内容包含包括Spark概述、Scala基础、Spark编程、Spark编程进阶、Spark SQL结构化数据文件处理、Spark Streaming实时计算框架、Spark GraphX图计算框架、Spark…

方法签名【C#】

1条件: 签名的作用:为了在众多方法中找到匹配的方法。【自己想要的方法】类似明星的签名。虽然2个人的名字一样,但并不是同一个人,这就需要用到签名的条件。 方法名称:注意大小写。 参数个数。 参数类型及顺序&…

STL—next_permutation函数

目录 1.next_permutation函数的定义 2.简单使用 2.1普通数组全排列 2.2结构体全排列 2.3string 3.补充 1.next_permutation函数的定义 next_permutation函数会按照字母表顺序生成给定序列的下一个较大的排列,直到整个序列为降序为止。与其相对的还有一个函数—…

实用工具推荐 | 在线制作电子书

​随着互联网的发展,越来越多的人开始关注知识的传播和分享。而电子书作为一种方便携带、易于分享的形式,越来越受到人们的青睐。今天,就为大家推荐一款实用的工具——FLBOOK在线制作电子杂志平台,让你轻松在线制作电子书&#xf…

【python学习】基础篇-常用模块-re模块:正则表达式高效操作字符串

在Python中,正则表达式主要通过re模块来实现。以下是一些常用的正则表达式用法: 匹配值: pattern r\d # 匹配一个或多个数字 pattern r\b\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\b #匹配日期格式 pattern rhello # 匹配字符串“hello”\…

【LeetCode】挑战100天 Day12(热题+面试经典150题)

【LeetCode】挑战100天 Day12(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-142.1 题目2.2 题解 三、面试经典 150 题-143.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…

HTTP客户端警告:Going to buffer response body of large or unknown size

HTTP客户端警告:Going to buffer response body of large or unknown size 点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 目录 HTTP客…

IAR为恩智浦S32M2提供全面支持,提升电机控制能力

IAR Embedded Workbench for Arm已全面支持恩智浦最新的S32系列,可加速软件定义汽车的车身和舒适性应用的开发 瑞典乌普萨拉,2023年11月22日 – 嵌入式开发软件和服务的全球领导者IAR现已全面支持恩智浦半导体(NXP Semiconductors&#xff0…

python脚本后台执行

nohup python script.py &

CMS垃圾收集器深入解析

1.CMS的两种模式与一种特殊策略 1.1Backgroud CMS(没有并发失败的情况) 1.1.1并发标记还能被整理成两个流程 (1)初始标记 (2)并发标记(3)(4)在这个阶段发生(3)并发预处理 (4)可中止的预处理 (5)重新标记 (6)并发清除 1.1.2为什么我们的并发标记细化之后还会额外有两个流…

【pandas数据处理】数据结构

数据结构 Series基于列表创建数据结构自定义元素的行标签基于字典创建数据结构 DataFrame对象基于列表创建数据结构设置参数来定义行列标签基于字典 Series 一维数组对象,不仅包含数据元素,还包含一组与数据元素对应的行标签。 基于列表创建数据结构 …

C++设计模式之工厂模式(下)——抽象工厂模式

抽象工厂模式 介绍示例示例使用运行结果抽象工厂模式的优缺点优点缺点 总结 介绍 抽象工厂模式是一种创建型设计模式,它提供了一种封装一组相关或相互依赖对象的方式,而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象&#xff…

Jquery ajax 同步阻塞引起的UI线程阻塞的坑(loading图片显示不出来 )

Jquery ajax 同步阻塞引起的UI线程阻塞的坑(loading图片显示不出来,layer.load延迟)jax重新获取数据刷新页面功能,因为ajax属于耗时操作,想在获取数据且加载页面时显示加载遮罩层,结果发现了ajax的好多坑。…

Elasticsearch自动清理脚本

脚本 我在data下创建的脚本文件就叫:vi /data/clear_log.sh,内容如下 #!/bin/sh #获取时间 time=`date +%Y-%m-%d %H:%M:%S` cipan=`df -h| grep sda3` #查询磁盘使用率 liang=`df -h| grep sda3 |grep -v grep |awk {print $5}|tr -d

【数据结构】一题带你出师链表!

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 题目链接 138. 随机链表的复制https://leetcode.cn/problems/copy-list-with-random-pointer/ 题目描述 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机…