Python中级知识梳理

image.png

1. 文件操作

Python中的文件操作通常使用内置的open()函数来打开文件。以下是一个简单的示例:

with open("file.txt", "r") as f:content = f.read()print(content)

在这个示例中,我们打开了名为"file.txt"的文件,并将其读入变量content中,最后将其打印出来。

open()函数的第一个参数是文件名,第二个参数是打开文件的模式。以下是一些常用的模式:

  • "r":只读模式
  • "w":写入模式(会覆盖已有文件)
  • "a":追加模式(不会覆盖已有文件)

2. 正则表达式

正则表达式是一种强大的工具,可以帮助我们从文本中提取信息或进行文本替换。Python中可以使用内置的re模块来进行正则表达式操作。以下是一个示例:

import retext = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
matches = re.findall(pattern, text)
print(matches)

在这个示例中,我们定义了一个正则表达式模式r"fox",然后使用re.findall()函数来查找匹配该模式的所有字符串。最后,我们将匹配的结果打印出来。

3. 异常处理

在编写程序时,经常需要处理可能出现的错误或异常情况。Python中可以使用tryexcept语句来实现异常处理。以下是一个简单的示例:

try:x = 1 / 0
except ZeroDivisionError:print("Error: division by zero")

在这个示例中,我们尝试计算1除以0,这将引发一个ZeroDivisionError异常。我们使用tryexcept语句来捕获该异常并打印出一条错误消息。

4. 面向对象编程(Object-Oriented Programming)

面向对象编程是一种重要的编程范式,Python是一种面向对象的语言。以下是一个简单的示例:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print("Hello, my name is " + self.name)person = Person("Alice", 25)
person.say_hello()

在这个示例中,我们定义了一个名为Person的类,并定义了一个构造函数__init__()来初始化对象的属性。我们还定义了一个名为say_hello()的方法,用于打印出问候语。最后,我们创建一个Person对象,并调用say_hello()方法。 Python是一种面向对象编程语言,它支持面向对象编程的三个基本概念:封装、继承和多态。面向对象编程的核心思想是将数据和操作数据的方法封装在一起,形成一个对象。

示例代码
class Animal:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f'{self.name} is saying hello')class Cat(Animal):def __init__(self, name, age, color):super().__init__(name, age)self.color = colordef catch_mouse(self):print(f'{self.name} is catching mouse')cat = Cat('Tom', 2, 'White')
cat.say_hello()
cat.catch_mouse()
输出结果
Tom is saying hello
Tom is catching mouse

5. Python高级特性

5.1 生成器(Generator)

生成器是一种特殊的函数,可以在函数执行期间多次返回值,并且可以保留当前执行状态,等待下一次调用。它们是高效的迭代器,可以用于处理大量数据或无限流数据,同时也能节省内存。

示例代码
pythonCopy code
def fib():a, b = 0, 1while True:yield aa, b = b, a + bf = fib()
for i in range(10):print(next(f))
输出结果
Copy code
0
1
1
2
3
5
8
13
21
34

5.2 装饰器(Decorator)

装饰器是一种函数,用于修改其他函数的行为。它们提供了一种简单的方式来修改函数,而无需修改函数的原始定义。装饰器的常见用途包括添加日志、计时、缓存等功能。

示例代码
pythonCopy code
import timedef timer(func):def wrapper(*args, **kwargs):start = time.time()result = func(*args, **kwargs)end = time.time()print(f'{func.__name__} executed in {end - start} seconds')return resultreturn wrapper@timer
def calculate_sum(n):return sum(range(n+1))print(calculate_sum(100000000))
输出结果
Copy code
calculate_sum executed in 4.150076866149902 seconds
5000000050000000

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

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

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

相关文章

mac 快捷键

mac 程序坞 ctrlaltD:打开程序坞 调度中心 Ctrl键↑: 调度中心 Ctrl键↓:应用程序窗口 F11 : 显示桌面 输入法 Ctrl键空格: 切换输入法 Ctrl键Alt(Option)空格: 切换输入法 截屏 帮助 Ctrl键shift键/: 显示帮助

使用 CSS : 伪元素:after、过渡动画transition实现过渡效果(鼠标悬浮或点击 标签时,底部边框从左到右过渡)

首先&#xff0c;给 <span> 标签添加一个父元素&#xff0c;定义属性类名&#xff1a;nav-wrapper &#xff0c;父级设置相对定位。然后&#xff0c;使用 ::after 伪元素来创建一个与底部边框相同宽度的元素&#xff0c;初始时宽度为 0&#xff0c;通过过渡动画transitio…

.net maui 启动调试windows程序退出

vs2022 .net 8 启动调试windows程序时闪退&#xff0c;错误代码 2147942405 解决方案&#xff1a;在csproj文件里面的PropertyGroup节点下面添加<WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize>

「服务器」4.新手小白如何安装服务器环境-宝塔

刚开始初始化好的服务器&#xff0c;使用了阿里云客户端&#xff0c;看着网络脚本乱装&#xff0c;后来决定宝塔环境发现有重复的环境&#xff0c;遂决定重新初始化一下&#xff0c;然后重头干起。 重置服务器 将服务器关闭运行状态后&#xff0c;点击重新初始化云盘即可重新初…

GCF:在线市场异质治疗效果估计的广义因果森林

英文题目&#xff1a;GCF: Generalized Causal Forest for Heterogeneous Treatment Effects Estimation in Online Marketplace 中文题目&#xff1a;GCF&#xff1a;在线市场异质治疗效果估计的广义因果森林 单位&#xff1a;滴滴&美团 时间&#xff1a;2022 论文链接…

【数据库原理】期末突击(2)

有不会的题可以后台问我的哦&#xff0c;看见了就会回。祝大家期末心想事成。 数据库大题显而易见就只有几类&#xff0c;大家可以根据老师平时讲解的例题对应去解决一类型的题目。 前提知识; 候选码候选键关键字键码 关系代数&#xff1a;&#xff08;1&#xff09;传统&…

CST2024的License服务成功启动,仍报错——“The desired daemon is down...”,适用于任何版本!基础设置遗漏!

CST2024的License服务成功启动&#xff0c;仍报错——“The desired daemon is down…”&#xff0c;适用于任何版本&#xff01;基础设置遗漏&#xff01; CST2024的License服务成功启动后报错 若不能成功启动License服务&#xff0c;有可能是你的计算机名称带中文&#xff…

融云 CEO 董晗荣获 51CTO 「2023 年度科技影响力人物奖」

&#xff08;&#x1f446;点击获取《社交泛娱乐出海作战地图》&#xff09; 1 月 5 日&#xff0c;由知名 IT 技术媒体 51CTO 主办的第十八届“中国企业年终评选”正式揭晓榜单&#xff0c;融云 CEO 董晗荣获“2023 年度科技影响力人物奖”。关注【融云全球互联网通信云】了解…

Android亮度调节的几种实现方法

最近在做一个App的设置项&#xff0c;亮度调节。真正做时&#xff0c;发现Android亮度调节比预想要复杂一些。其实目前网上已有不少这方面的资料&#xff0c;但有些博文具有一定误导性。在此将这块内容按照自己理解整理一下。 整体上看&#xff0c;Android亮度调节分为三个层次…

微服务下的SpringSecurity认证端

从三板斧开始微服务下的SpringSecurity开始 一、引入组件包 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId> </dependency> 二、创建适配器 AuthorizationServerConfig…

【Android Studio】APP练手小项目——切换图片APP

本项目效果&#xff1a; 前言&#xff1a;本项目最终实现生成一个安卓APP软件&#xff0c;点击按钮可实现按钮切换图片。项目包含页面布局、功能实现的逻辑代码以及设置APP图标LOGO和自定义APP名称。 关于Android Studio的下载与安装见我的博文&#xff1a;Android Studio 最新…

Python接口自动化测试的局限性,该如何破局?

Python接口自动化测试在软件质量保证方面具有显著的优势&#xff0c;如提高测试效率、减少人工错误、支持持续集成和回归测试等。然而&#xff0c;它也存在一些局限性&#xff0c;主要包括以下几点&#xff1a; 1. **初始投入成本高**&#xff1a; - 编写自动化测试脚本需要…

nginx upstream负载均衡模块

前言 upstream 与 proxy 搭配使用 配置upstream upstream server_www.xxx.com_backend {server 192.168.1.128:8081 weight1;server 192.168.1.128:8082 weight2; }配置 server server {listen 80;server_name www.xxx.com;...location / {proxy_pass http://server_…

蓝牙信标定位原理

定位原理&#xff1a;蓝牙信标的定位原理是基于RSSI蓝牙信号强度来做定位的。 根据应用场景不同&#xff0c;通过RSSI定位原理可分为两种定位方式 一、存在性定位 这种方式通常要求所需定位的区域安装一个蓝牙信标即可&#xff0c;手持终端扫描蓝牙信标信号&#xff0c;扫描…

huggingface下载太慢的问题

解决问题&#xff1a;huggingface网站模型文件太大&#xff0c;下载太慢 方式&#xff1a; huggingface镜像站网址 使用方法3的python脚本文件内容 import os# 下载模型 os.system(huggingface-cli download --resume-download THUDM/chatglm2-6b --local-dir /home/bennie…

LeetCode[27]移除元素

Description 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…

linxu 寻找某一个文件所在的绝对路径

目录 1 实现 1 实现 在Linux系统中&#xff0c;你可以使用find命令来寻找某个文件的绝对路径。find命令可以递归地在指定的目录及其子目录中搜索文件&#xff0c;并根据给定的条件进行匹配。 下面是使用find命令来查找文件的示例&#xff1a; find / -name "filename&q…

C++入门【25-C++ 从函数返回指针】

在上一章中&#xff0c;我们已经了解了 C 中如何从函数返回数组&#xff0c;类似地&#xff0c;C 允许您从函数返回指针。为了做到这点&#xff0c;您必须声明一个返回指针的函数&#xff0c;如下所示&#xff1a; int * myFunction() { . . . } 另外&#xff0c;C 不支持在函数…

Linux【C编程】 信号以及信号的处理方式

文章目录 1.什么是信号&#xff1f;1.1信号是内容受限的一种异步通信机制1.2信号由谁发出的&#xff1f;1.3信号由谁处理&#xff0c;如何处理 2.常见的信号3.进程对信号的处理3.1用signal函数处理SIGINT信号3.2使用sigaction 函数 4.alarm 和pause函数4.1 alarm函数详解4.2 pa…

vue element plus 安装

环境支持# Element Plus 可以在支持 ES2018 和 ResizeObserver 的浏览器上运行。 如果您确实需要支持旧版本的浏览器&#xff0c;请自行添加 Babel 和相应的 Polyfill 。 由于 Vue 3 不再支持 IE11&#xff0c;Element Plus 也不再支持 IE 浏览器。 Edge ≥ 79Firefox ≥ 78C…