【Python】基础知识(一)

简介: 俗话说,欲先善其事,必先利其器。作为一个小白,当选择了一门语言来学习的时候,我们的电脑得安装这个语言。「Python」 是一门编程语言,可以在服务器上使用 Python 来创建 Web 应用程序。

俗话说,欲先善其事,必先利其器。作为一个小白,当选择了一门语言来学习的时候,我们的电脑得安装这个语言。「Python」 是一门编程语言,可以在服务器上使用 Python 来创建 Web 应用程序,他主要有以下用途:


  1. Web 开发(服务器端)
  2. 软件开发
  3. 数学
  4. 系统脚本
  5. 文本检索
  6. 数据筛选


1 引言

1.1 版本与支持

Python」目前最新的官方版本是「v3.10.6」,它支持多个操作系统下载来使用。其他操作系统也有相应的安装步骤,其实Mac是内置了一个Python,不过我们一般情况下都不推荐使用低版本的python,我记得我当时机器预置版本为v2.7(已经卸载)。

image.png


1.2 下载

Python官方下载地址是:https://www.python.org/downloads/

Python的下载方式有很多种,你可以直接在官方网站下载「python」包,也可以使用命令行来拉取「python」包,甚至也可以使用电脑所带的管理工具来从代码库拉取「python」包。


1.3 安装(Mac)

  • 方法一:Mac是自带python

执行命令「which python」 、「 which python2」 、 「which python3」 可以查看已经安装的python的版本以及安装目录

例如我机器安装的版本查询

$whichpython3$/usr/local/bin/python3


  • 方法二:可以在官方下载安装包,然后执行安装到机器上

例如可以在官方提供的地址下载,按照步骤安装即可,官方下载地址:https://www.python.org/downloads/macos/


  • 方法三:使用管理工具「brew」安装

联网时,使用「brew」工具安装python(推荐,简单方便)使用工具查询python的版本,根据需求安装即可。

image.png


1.4 卸载(Mac)

卸载根据安装的步骤,反向卸载就可以了。如果担心没有卸载,可以使用查看版本命令查看下是否还存在,如果有配置环境变量,记得也把环境变量的配置信息删除掉。

$ brew uninstall python
$ python-V


1.5 其他平台安装和卸载

  • 下载

Windows:https://www.python.org/downloads/windows/

Linux/UNIX:https://www.python.org/downloads/source/

MacOS:https://www.python.org/downloads/macos/

其他平台(AIX、IBM、IOS、平板等):https://www.python.org/download/other/


  • 安装

基本上都是解压到磁盘某一个目录下面,然后配置下环境变量或者重新命名一下。


  • 卸载

删除软件包、安装包、环境变量


2 基础知识

2.1 正则表达式(RegEx)

正则表达式主要用于检查字符串是否包含指定的搜索模式,内部提供「re」内置包。在「Python」中,正则表达式是一个特殊的序列,他可以帮助我们快速定位或者找到我们想要的数据字符。「Python」 自「v1.5」版本起增加了「re」 模块,它提供 「Perl」 风格的正则表达式模式。


下面是一些常用的正则表达式模式语法中的特殊元素:

正则符号

描述信息
^ 匹配字符串的开头
$ 匹配字符串的末尾。
. 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。
[...] 用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
[^...] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re* 匹配0个或多个的表达式。
re+ 匹配1个或多个的表达式。
re? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
re{ n} 精确匹配 n 个前面表达式。例如, o{2} 不能匹配 "Bob" 中的 "o",但是能匹配 "food" 中的两个 o。
re{ n,} 匹配 n 个前面表达式。例如, o{2,} 不能匹配"Bob"中的"o",但能匹配 "foooood"中的所有 o。"o{1,}" 等价于 "o+"。"o{0,}" 则等价于 "o*"。
re{ n, m} 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
a| b 匹配a或b
(re) 对正则表达式分组并记住匹配的文本
(?imx) 正则表达式包含三种可选标志:i, m, 或 x 。只影响括号中的区域。
(?-imx) 正则表达式关闭 i, m, 或 x 可选标志。只影响括号中的区域。
(?: re) 类似 (...), 但是不表示一个组
(?imx: re) 在括号中使用i, m, 或 x 可选标志
(?-imx: re) 在括号中不使用i, m, 或 x 可选标志
(?#...) 注释.
(?= re) 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边。
(?! re) 前向否定界定符。与肯定界定符相反;当所含表达式不能在字符串当前位置匹配时成功
(?> re) 匹配的独立模式,省去回溯。
\w 匹配字母数字及下划线
\W 匹配非字母数字及下划线
\s 匹配任意空白字符,等价于 [ \t\n\r\f]
\S 匹配任意非空字符
\d 匹配任意数字,等价于 [0-9].
\D 匹配任意非数字
\A 匹配字符串开始
\Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。
\z 匹配字符串结束
\G 匹配最后匹配完成的位置。
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\n, \t, 等. 匹配一个换行符。匹配一个制表符。等
\1...\9 匹配第n个分组的内容。
\10 匹配第n个分组的内容,如果它经匹配。否则指的是八进制字符码的表达式。


2.2 修饰符

【作用】

python函数修饰器@的作用是为现有函数增加额外的功能,常用于插入日志、性能测试、事务处理等等。


【处理逻辑】

当解释器读到@装饰符,会先解析@下一行的内容,把下一行的函数或者类作为@后边的函数的参数,执行被装饰的函数。


【实验测试】


  • 修饰函数不带参数,例如log函数
>>>>>>deflog(func):
...    defwrapper():
...        print('Log Start')
...        func()
...        print('Log End')
...    returnwrapper...
>>>>>>@log... deftest():
...     print('Test .. .. ..')
...
>>>>>>test()
LogStartTest .. .. ..
LogEnd>>>


2.3 优先级

正则表达式遵循从左到右的计算规则,与算术规则类似。


运算符(符号) 描述信息

实验数据

+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分(向下取整
>>>9//24>>>-9//2-5


3 内置函数包

3.1 引入re模块

re内置包包含了很多函数,例如「findall」 「search」 「split」 「sub」,引入内置函数包方式如下:

importre


函数名称以及用途

  • findall:返回包含所有匹配项的列表。匹配所有子窜,返回子窜列表;否则返回空列表;
  • search:如果字符串中的任意位置存在匹配,则返回 Match 对象;否则返回None;
  • split:返回在每次匹配时拆分字符串的列表。
  • sub:用字符串替换一个或多个匹配项。简单言就是将匹配到的数据进行替换。
  • macth:从起始位置开始匹配;不是起始位置匹配到返回None;


好了,简单的知识就到这里。

相关文章
|
5月前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
170 2
|
5月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门:基础知识与必备工具
【4月更文挑战第12天】Python是大数据时代数据分析的热门语言,以其简单易学和丰富库资源备受青睐。本文介绍了Python数据分析基础,包括Python语言特点、数据分析概念及其优势。重点讲解了NumPy、Pandas、Matplotlib、Seaborn和Scikit-learn等必备工具,它们分别用于数值计算、数据处理、可视化和机器学习。此外,还概述了数据分析基本流程,从数据获取到结果展示。掌握这些知识和工具,有助于初学者快速入门Python数据分析。
125 2
|
4月前
|
设计模式 开发者 Python
探索Python中的异步编程:从基础知识到实践应用
【6月更文挑战第6天】本文旨在深入探讨Python中的异步编程概念,包括其背后的原理、常用的库和框架以及如何在实际项目中应用这些知识。文章将通过具体的代码示例和场景分析,帮助读者理解异步编程在提升程序性能和处理并发任务中的重要性。
|
3月前
|
存储 人工智能 数据挖掘
十分钟学习Python基础知识
Python是一种高效、易学且功能强大的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。如果你是编程新手,想要快速入门Python,那么这篇文章将是你的最佳选择。我将在十分钟内带你了解Python的基础知识。
|
4月前
|
索引 Python
Python考试基础知识
Python考试基础知识
33 1
|
4月前
|
关系型数据库 MySQL 数据库
探索Python中的异步编程:从基础知识到高级应用
【6月更文挑战第8天】随着技术的进步,异步编程已经成为现代软件开发中不可或缺的一部分。本文将深入探讨Python中的异步编程,包括其基础知识、常用库和框架,以及一些高级应用。我们将通过实例来展示如何有效地使用异步编程来提高程序的性能和响应性。无论你是初学者还是经验丰富的开发者,这篇文章都会为你提供有价值的见解和技巧。
52 2
|
4月前
|
存储 关系型数据库 API
探索Python中的异步编程:从基础知识到实际应用
【6月更文挑战第6天】在本文中,我们将深入探讨Python中的异步编程,这是一种强大的编程技术,可以帮助我们更有效地处理并发任务。我们将从基础知识开始,然后逐步深入到实际应用,包括异步I/O操作、异步Web请求和异步数据库操作等。最后,我们将通过一个实际的项目案例,展示如何在Python中使用异步编程来提高程序的性能和效率。
|
4月前
|
JavaScript 前端开发 Java
python的入门基础知识和一些小技巧
python的入门基础知识和一些小技巧
28 0
|
4月前
|
算法 Python
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
Python基础教程(第3版)中文版 第一章 快速上手:基础知识(笔记)
|
5月前
|
Java 程序员 Python
Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
【4月更文挑战第15天】Python基础知识主要包括其**语法规则、数据类型、控制结构以及函数和模块**等
52 11