【Python】最详细--基础语法
Python是一种强大且易于学习的编程语言,广泛用于各种应用程序的开发,如web开发、数据科学、人工智能等。以下是一些Python的基础知识:
1. Python的注释
Python的注释用于在代码中添加说明,以提高代码的可读性。注释在代码执行时会被忽略。
- 单行注释:使用
#符号标识,#后面的内容被视为注释。
# 这是一个单行注释
print("Hello, World!") # 这也是注释
- 多行注释:可以使用三重引号(
'''或""")来创建多行注释。
"""
这是一个多行注释
可以用来解释更多的内容
"""
print("Hello, World!")
2. Python的关键字
Python的关键字是语言保留的词,具有特定的功能,不能用作变量名或标识符。常见的关键字有:
表格
| 关键字 | 说明 |
|
| 布尔值假 |
|
| 空值 |
|
| 布尔值真 |
|
| 逻辑与 |
|
| 别名 |
|
| 断言 |
|
| 异步编程 |
|
| 等待协程完成 |
|
| 退出循环 |
|
| 定义类 |
|
| 跳过当前循环迭代 |
|
| 定义函数 |
|
| 删除对象 |
|
| 其他条件 |
|
| 否则 |
|
| 异常捕获 |
|
| 最终块 |
|
| 循环 |
|
| 从模块导入 |
|
| 声明全局变量 |
|
| 条件判断 |
|
| 导入模块 |
|
| 成员运算符 |
|
| 身份运算符 |
|
| 匿名函数 |
|
| 声明非局部变量 |
|
| 逻辑否 |
|
| 逻辑或 |
|
| 空语句 |
|
| 引发异常 |
|
| 返回值 |
|
| 开始异常处理 |
|
| 循环 |
|
| 上下文管理 |
|
| 生成器 |
3. 数据类型
Python支持多种数据类型,主要分为以下几类:
- 基本数据类型:
-
- 整数(int):表示整数值。例如,
a = 10 - 浮点数(float):表示小数值。例如,
b = 3.14 - 字符串(str):表示文本。例如,
s = "Hello"
- 整数(int):表示整数值。例如,
- 集合数据类型:
-
- 列表(list):有序可变的集合,使用方括号
[]表示。例如,fruits = ["apple", "banana", "cherry"] - 元组(tuple):有序不可变的集合,使用圆括号
()表示。例如,dimensions = (1920, 1080) - 集合(set):无序不重复元素的集合,使用花括号
{}表示。例如,unique_numbers = {1, 2, 3, 4} - 字典(dict):键值对集合,使用花括号
{}表示。例如,person = {"name": "Alice", "age": 30}
- 列表(list):有序可变的集合,使用方括号
- 数字:整数和浮点数。
a = 10 # 整数
b = 3.14 # 浮点数
- 字符串:文本数据,使用单引号或双引号表示。
name = "Alice"
- 布尔值:
True和False。
is_active = True
4. 类型转换
类型转换是将一种数据类型转换为另一种数据类型的过程。在Python中,可以使用内置函数进行类型转换。
- 常用类型转换函数:
-
int(): 将其他类型转换为整数。
a = "10"
b = int(a) # b为10(整数)
-
float(): 将其他类型转换为浮点数。
a = "3.14"
b = float(a) # b为3.14(浮点数)
-
str(): 将其他类型转换为字符串。
a = 10
b = str(a) # b为"10"(字符串)
-
list(): 将可迭代对象转换为列表。
a = (1, 2, 3)
b = list(a) # b为[1, 2, 3](列表)
5. 标识符
标识符是用于标识变量、函数、类等对象的名称。标识符遵循以下规则:
- 可以包含字母、数字、下划线(_),不能以数字开头。
- 标识符区分大小写(
age和Age是两个不同的标识符)。 - 不能使用Python的关键字作为标识符。
示例:
my_variable = 10 # 合法
MyVariable = 20 # 合法
myVariable1 = 30 # 合法
1st_variable = 40 # 不合法,不能以数字开头
6. 运算符
运算符是用于执行特定操作的符号。Python中的运算符按功能分类如下:
- 算术运算符:
-
+:加法-:减法*:乘法/:除法//:整数除法%:模(取余)**:幂(指数)
示例:
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.333...
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
- 比较运算符:
-
==:等于!=:不等于>:大于<:小于>=:大于等于<=:小于等于
示例:
print(a == b) # False
print(a != b) # True
print(a > b) # True
- 逻辑运算符:
-
and:与or:或not:非
示例:
print(a > 5 and b < 5) # True
print(a > 5 or b < 2) # True
print(not (a > b)) # False
- 位运算符:
-
&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移
示例:
a = 5 # 二进制:0101
b = 3 # 二进制:0011
print(a & b) # 1 (0001)
print(a | b) # 7 (0111)
- 赋值运算符:
-
=:赋值+=:加等于-=:减等于*=:乘等于/=:除等于
示例:
a = 10
a += 5 # a = a + 5,a = 15
a *= 2 # a = a * 2,a = 30
这些概念是Python编程的基础,掌握它们将有助于你更好地理解和使用这门语言。
7. 数据结构
- 列表:有序的可变集合。
fruits = ["apple", "banana", "cherry"]
- 元组:有序的不可变集合。
dimensions = (1920, 1080)
- 字典:键值对集合。
person = {"name": "Alice", "age": 30}
- 集合:无序的不重复元素集合。
unique_numbers = {1, 2, 3, 4}
8. 控制结构
- 条件语句:
if a > b: print("a is greater than b")
elif a < b: print("a is less than b")
else: print("a is equal to b")
- 循环:
-
for循环:
for fruit in fruits: print(fruit)
-
while循环:
count = 0
while count < 5: print(count) count += 1
9. 函数
- 定义函数:
def greet(name): return f"Hello, {name}!" print(greet("Alice"))
10. 模块和库
- 导入模块:
-
- Python 中有很多内置模块,也可以使用第三方库。
import math
print(math.sqrt(16)) # 输出 4.0
11. 文件操作
- 打开和读取文件:
with open("example.txt", "r") as file: content = file.read() print(content)
12. 异常处理
- 捕获异常:
try: result = 10 / 0
except ZeroDivisionError: print("不允许除以零!")
以上是Python的一些基础知识。通过掌握这些知识,你可以开始编写基本的Python程序。随着深入学习,你还会接触到面向对象编程、装饰器、生成器等更高级的概念和功能。
相关文章:
【Python】最详细--基础语法
Python是一种强大且易于学习的编程语言,广泛用于各种应用程序的开发,如web开发、数据科学、人工智能等。以下是一些Python的基础知识: 1. Python的注释 Python的注释用于在代码中添加说明,以提高代码的可读性。注释在代码执行时…...
二叉树基础:什么样的二叉树适合用数组来存储?
二叉树基础:什么样的二叉树适合用数组来存储? 在计算机科学中,二叉树是一种非常重要的数据结构。它具有许多应用,如搜索、排序、表达式解析等。在存储二叉树时,我们可以使用多种方法,其中一种是使用数组。但是,并不是所有的二叉树都适合用数组来存储。那么,什么样的二…...
iTOP-RK3568开发板独立NPU通过算法加特应用到以下的场景
iTOP-3568开发板采用瑞芯微RK3568处理器,内部集成了四核64位Cortex-A55处理器。主频高达2.0Ghz,RK809动态调频。集成了双核心架构GPU,ARM G52 2EE、支持OpenGLES1.1/2.0/3.2、OpenCL2.0、Vulkan1.1、内嵌高性能2D加速硬件。 内置独立NPU,算力…...
Java基于SpringBoot微信小程序的跳蚤市场系统设计与实现(lw+数据库+讲解等)
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...
【分布式微服务云原生】《Redis 的高效之道:线程模型、IO 模型与 Reactor 模型全解析》
标题:《分布式缓存Redis 的高效之道:线程模型、IO 模型与 Reactor 模型全解析》 摘要:本文深入探讨分布式缓存 Redis 的 I线程模型、IO 模型以及 Reactor 模型。详细介绍了 Redis 在不同版本中的线程变化、IO 模型的特点和工作流程ÿ…...
科研类型PPT的制作技巧
目录 科研类型PPT的制作技巧 荣誉: 首页:ppt开头结尾 小标题 重点标记:加粗红色下划线 使用三线表 图片,文本排版 一、明确目的与受众分析 二、基础设计原则 三、内容组织与呈现 四、绘图与模型制作 五、其他注意事项 科研类型PPT的制作技巧 荣誉: 首页:ppt开…...
rom定制系列------小米6x_MIUI14_安卓13刷机包修改写入以及功能定制 界面预览
在接待一些定制化系统中。有很多工作室或者一些特殊行业的友友需要在已有固件基础上简略修改其中的功能。方便使用。例如usb调试默认开启。usb安装设置以及usb安装与内置删减一些app的定制服务。今天给友友预览其中小米6X此款机型定制相关的一些界面与功能演示。 定制机型以及…...
线性代数基础02
目录 1.向量 1.1向量的定义 1.2向量的运算 1.2.1向量加法 1.2.2向量数乘 1.2.3向量点积 1.3矩阵的特征值和特征向量 1.4向量的模 1.4.1向量的模的定义 1.4.2向量的模的几何解释 1.4.3向量的模的性质 1.5向量的内积 1.5.1向量的内积的定义 1.5.2向量的内积的几何解…...
「4.4」祖孙询问
「4.4」祖孙询问 题目描述 已知一棵 n 个节点的有根树。有 m 个询问,每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。 输入格式 输入第一行包括一个整数 n 表示节点个数; 接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之…...
Datawhale 组队学习 文生图 Prompt攻防 task03随笔
这期我们从不同角度切入探讨赛题的进阶思路 思路1:对比不同大模型 首先我们可以选择尝试不同的大模型,使用更复杂的大模型可以提高文本改写的质量和效果。随着模型大小的增加,其表示能力也随之增强,能够捕捉更细微的语言特征和语…...
游戏投屏软件有哪些?分享这10款比较好用的!
说到投屏,这个事情我还是比较有发言权的! 一般手机下载个APP,然后就可以通过WiFi、蓝牙或者USB进行连接投屏啦,下面是国内比较主流的一些游戏投屏软件,可以根据他们的优缺点进行选择哦! 01.幕连 国内首款…...
[Unity Demo]从零开始制作空洞骑士Hollow Knight第十六集(下篇):制作小BOSS龙牙哥
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、制作小BOSS龙牙哥 1.导入素材制作动画2.制作两种攻击行为3.制作从惊醒到转身到走路or跑步行为总结 前言 hello大家好久没见,之所以隔了一天时间…...
顺序表算法题【不一样的解法!】
本章概述 算法题1算法题2算法题3彩蛋时刻!!! 算法题1 力扣:移除元素 我们先来看这个题目的要求描述: 把与val相同数值的元素移除掉,忽略元素的相对位置变化,然后返回剩下与val值不同的元素个数…...
VuePress的基本常识
今天大概了解了一下Vuepress,感觉很棒,看着极其简单,自己也想做一个,后续我大概率也会做一个用Vuepress为基础做的博客网站,很酷~ 哈哈哈,下面是我今天学习Vuepress的一些内容,简单分享下&#…...
深入解析Vue2与Vue3的区别与Vue3的提升
Vue.js作为一款流行的前端框架,自发布以来,凭借其简洁的语法、灵活的组件化和高效的性能,赢得了众多开发者的喜爱。随着Vue3的发布,许多新特性和新功能也应运而生。那么,Vue2与Vue3究竟有哪些区别呢?Vue3又…...
认识python数据分析
Python作为一种高效、灵活且易于学习的编程语言,在数据分析领域展现出了强大的应用潜力。 从数据清洗、预处理到复杂的统计分析、可视化及机器学习模型的构建,Python提供了丰富的库和框架,极大地简化了数据分析的流程,提高了工作…...
以太网交换安全:MAC地址漂移与检测(实验:二层环路+网络攻击)
一、什么是MAC地址漂移? MAC地址漂移是指网络中设备的MAC地址在运行过程中发生变化的现象。 MAC地址是用于唯一标识网络中的设备。 MAC地址漂移是指交换机上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。…...
NeRF三维重建—神经辐射场Neural Radiance Field(二)体渲染相关
NeRF三维重建—神经辐射场Neural Radiance Field(二)体渲染相关 粒子采集部分 粒子采集的部分我们可以理解为,在已知粒子的情况下,对图片进行渲染的一个正向的过程。 空间坐标(x,y,z)发射的光线通过相机模型成为图片上…...
软件测试工程师:如何写出好的测试用例?
软件测试用例(Test Case)是软件测试过程中的一种详细文档或描述,用于描述在特定条件下,对软件系统或组件进行测试的步骤、输入数据、预期输出和预期行为。编写高质量的测试用例是确保软件质量的关键步骤之一。以下是一些编写优秀测试用例的建议ÿ…...
「图::连通」详解并查集并实现对应的功能 / 手撕数据结构(C++)
目录 概述 成员变量 创建销毁 根节点访问 路径压缩 启发式合并 复杂度 Code 概述 并查集,故名思议,能合并、能查询的集合,在图的连通性问题和许多算法优化上着广泛的使用。 这是一个什么数据结构呢? 一般来讲,并查集是…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
