【人生苦短,我学 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 是一种解释型、面向对象的编程语言,是一个开源语言,拥有大量的库,可以高效地开发各种应用程序。它简单、高级、面向对象、免费开源,有可扩展性、可移植性、丰富的库和可嵌入性。

注意 PythonC 语言不一样,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 ProgrammingOOP

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

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

  1. 版本

    • 2 个主要版本:Python 2Python 3
    • Python 3Python 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方式

    在网页中编写代码块,方便添加文字,显示图形,适合学习和算法研究。
    例如,AnacondaJupyter 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 turtle
    
    turtle.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.mfbz.cn/a/176084.html

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

相关文章

15位、7位可控字符下的任意命令执行

可控字符串 长度受限情况下 Getshell

【OpenCV实现图像:使用OpenCV进行物体轮廓排序】

文章目录 概要读取图像获取轮廓轮廓排序小结 概要 在图像处理中,经常需要进行与物体轮廓相关的操作,比如计算目标轮廓的周长、面积等。为了获取目标轮廓的信息,通常使用OpenCV的findContours函数。然而,一旦获得轮廓信息后&#…

基于STM32的电子时钟(论文+源码)

1. 系统设计 电子时钟是一种广泛使用的工具,其可以帮助人们准确掌握时间,本课题基于STM32的电子时钟系统的设计,在功能上设计如下: 具有电子时钟的基本功能,显示年月日,时分秒等基本信息;可以…

经典双指针算法试题(二)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、有效三角形的个数1、题目讲解2、讲解算法原理3、代码实现 二、查找总价格为目标值的两个商…

JavaDS —— 初识集合框架 + 时间/空间复杂度

目录 1. 初识集合框架 1.1 集合框架的初识 1.2 什么是数据结构? 2. 时间与空间复杂度 2.1 时间复杂度 2.2 大O的渐进表示法 2.3 常见时间复杂度计算举例 2.4 空间复杂度 1. 初识集合框架 1.1 集合框架的初识 什么叫集合?什么叫框架?什么又叫集…

unity自制循环匀速动画

动画制作,有循环匀速要求时,需要调节Curves,将其节点的Tangent改为Linear

在建立 OkHttp3 Client 时设置超时时间

这里写目录标题 一. 前言二. 导入mavengradle 三. 设置超时时间 一. 前言 OkHttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个只有Andro…

OpenAI董事会秒反悔!奥特曼被求重返CEO职位

明敏 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 1天时间,OpenAI董事会大变脸。 最新消息,他们意在让奥特曼重返CEO职位。 多方消息显示,因为“投资人的怒火”,OpenAI董事会才在一天时间里来了个大反转。 微软CEO纳德拉被曝在得…

redis性能管理

redis的数据库是存放在内存当中,所以对内存的监控至关重要 redis内存监控和解析 1.如何查看redis内存使用情况 [rootlocalhost utils]# redis-cli -h 20.0.0.170 -p 6379 20.0.0.170:6379> info memory used_memory:853336 //redis中数据占用的内存 use…

神经网络常用激活函数详解

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

busybox制作根文件系统1

使用Busybox构建根文件系统 **环境:**Ubuntu 20.04 ​ 野火imx6ull pro开发板 根文件系统里都有什么内容 在构建根文件系统之前,先来看一下根文件系统里面大概都有些什么内容,以Ubuntu为例,根文件系统的目录名字为/&#xff0…

提升效率必备:电脑文件批量重命名的实用技巧大放送

在日常工作中,电脑文件的重命名是一项常见的操作。当要处理大量的文件,并且要按照一定的规则或逻辑进行重命名时,手动一个一个重命名显然是非常低效的。掌握批量重命名的技巧可提高工作效率。现在一起来看云炫文件管理器如何批量重命名电脑上…

5个步骤,让你的全志H616核桃派玩回当年火爆全球NES游戏

1.准备好你的nes游戏: nes游戏链接:链接:百度网盘 请输入提取码 提取码:k6sh 2.安装nes游戏模拟器: sudo apt-get install nestopia3.打开安装好的nes游戏模拟器: 终端打开: nestopia桌面系…

[Python人工智能] 四十.命名实体识别 (1)基于BiLSTM-CRF的威胁情报实体识别万字详解

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章普及VS Code配置Keras深度学习环境,并对比常用的深度学习框架,最后普及手写数字识别案例。这篇文章将讲解如何实现威胁情报实体识别,利用BiLSTM-CRF算法实现对ATT&CK相关的技战术实体…

80%测试员被骗,关于jmeter 的一个弥天大谎!

jmeter是目前大家都喜欢用的一款性能测试工具,因为它小巧、简单易上手,所以很多人都愿意用它来做接口测试或者性能测试,因此,在目前企业中,使用各个jmeter的版本都有,其中以jmeter3.x、4.x的应该居多。 但是…

23. 深度学习 - 多维向量自动求导

Hi, 你好。我是茶桁。 前面几节课中,我们从最初的理解神经网络,到讲解函数,多层神经网络,拓朴排序以及自动求导。 可以说,最难的部分已经过去了,这节课到了我们来收尾的阶段,没错,生…

基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】

基于springboot实现班级综合测评管理系统演示 摘要 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的&#x…

【Django-DRF】多年md笔记第5篇:Django-DRF的Request、Response和视图详解

本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做的最核心工作,然后介绍Django REST framework能帮助我们简化开发REST API的工作。 Dj…

ARCGIS网络分析

一、实验名称: 网络分析 二、实验目的: 通过本实验练习,掌握空间数据网络分析的基本方法。 三、实验内容和要求: 实验内容: 利用ARCGIS软件网络分析工具及相关空间数据,查找距离“名人故居”、“博物…

Python-大数据分析之常用库

Python-大数据分析之常用库 1. 数据采集与第三方数据接入 1-1. Beautiful Soup ​ Beautiful Soup 是一个用于解析HTML和XML文档的库,非常适用于网页爬虫和数据抓取。可以提取所需信息,无需手动分析网页源代码,简化了从网页中提取数据的过…