Python基础语法全解析:从入门到实践
Python作为一门简洁高效、功能强大的编程语言,凭借其易读性和丰富的生态系统,已成为编程领域的“明星语言”。本文将系统讲解Python的核心语法,涵盖变量、数据类型、控制结构、函数、模块等核心概念,帮助读者快速掌握编程基础。
一、Python语言特性
Python的设计哲学强调代码可读性与简洁性,其核心特点包括:
- 动态类型:变量无需显式声明类型,解释器自动推断。
- 强缩进规则:通过缩进(通常为4个空格)定义代码块,替代传统的大括号。
- 丰富的内置数据结构:列表、字典等容器类型简化复杂操作。
- 跨平台兼容性:支持Windows、Linux、macOS等多系统运行。
二、变量与数据类型
1. 变量定义
Python变量直接通过赋值创建,无需类型声明:
name = "Alice" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
2. 数据类型
-
基本类型:
- 整型(int):
100,-5 - 浮点型(float):
3.14,-0.001 - 字符串(str):
"Hello"(可用单引号或双引号) - 布尔型(bool):
True或False
- 整型(int):
-
容器类型:
- 列表(list):可变的元素序列,如
numbers = [1, 2, 3] - 元组(tuple):不可变序列,如
colors = ("red", "green") - 字典(dict):键值对集合,如
person = {"name": "Bob", "age": 30} - 集合(set):无序不重复元素,如
unique_nums = {1, 2, 3}
- 列表(list):可变的元素序列,如
3. 类型转换
使用内置函数实现类型转换:
num_str = "123"
num_int = int(num_str) # 字符串转整数
num_float = float("3.14") # 字符串转浮点数
list_from_str = list("abc") # ['a', 'b', 'c']
三、运算符与表达式
1. 算术运算符
print(10 + 3) # 加法 → 13
print(10 ** 2) # 幂运算 → 100
print(10 // 3) # 整除 → 3
2. 比较运算符
print(5 > 3) # True
print("apple" == "Apple") # False(区分大小写)
3. 逻辑运算符
if age >= 18 and is_student:print("成年学生")
4. 成员运算符
fruits = ["apple", "banana"]
print("apple" in fruits) # True
四、流程控制
1. 条件语句(if-elif-else)
score = 85
if score >= 90:print("优秀")
elif score >= 60:print("及格")
else:print("不及格")
2. 循环结构
- for循环遍历序列:
for i in range(5): # 输出0-4print(i)
- while循环条件控制:
count = 0
while count < 3:print(f"第{count+1}次循环")count += 1
3. 循环控制
break:跳出整个循环continue:跳过当前迭代
for num in [1, 2, 3, 4]:if num % 2 == 0:continueprint(num) # 输出1, 3
五、函数与模块
1. 函数定义
def greet(name):"""返回问候语(文档字符串)"""return f"Hello, {name}!"print(greet("Alice")) # Hello, Alice!
2. 参数传递
- 位置参数:
def add(a, b): return a + b - 关键字参数:
add(b=3, a=2) - 默认参数:
def power(x, n=2): return x ** n
3. 模块导入
- 导入整个模块:
import math - 导入特定函数:
from random import randint - 别名设置:
import numpy as np
六、异常处理
try:result = 10 / 0
except ZeroDivisionError:print("除数不能为零")
except Exception as e:print(f"未知错误: {e}")
finally:print("执行清理操作")
七、文件操作
1. 文件读写
with open("data.txt", "w") as f:f.write("Hello, Python!")with open("data.txt", "r") as f:content = f.read()print(content)
2. 文件模式
r:只读w:写入(覆盖)a:追加写入b:二进制模式
八、面向对象编程
1. 类与对象
class Dog:def __init__(self, name):self.name = namedef bark(self):print(f"{self.name}在汪汪叫!")my_dog = Dog("Buddy")
my_dog.bark() # Buddy在汪汪叫!
2. 继承与多态
class Bulldog(Dog):def bark(self):print(f"{self.name}发出低沉的叫声!")
九、高级特性
1. 列表推导式
squares = [x**2 for x in range(10)] # [0,1,4,...,81]
2. 生成器
even_gen = (x for x in range(100) if x%2 ==0)
3. 装饰器
def log_time(func):def wrapper(*args):start = time.time()result = func(*args)print(f"耗时:{time.time()-start}秒")return resultreturn wrapper@log_time
def long_task():time.sleep(2)
十、实践建议
- 代码规范:遵循PEP8风格(如变量命名用下划线)
- 调试技巧:使用
print()或IDE断点调试 - 虚拟环境:通过
venv隔离项目依赖 - 单元测试:使用
unittest模块验证功能
通过掌握以上核心语法,读者已具备编写Python程序的基础能力。建议结合实际项目(如数据处理、Web开发)深化理解,并持续探索标准库与第三方库(如NumPy、Django)的进阶应用。Python的简洁哲学在于“用更少的代码做更多的事”,这正是其魅力所在。
相关文章:
Python基础语法全解析:从入门到实践
Python作为一门简洁高效、功能强大的编程语言,凭借其易读性和丰富的生态系统,已成为编程领域的“明星语言”。本文将系统讲解Python的核心语法,涵盖变量、数据类型、控制结构、函数、模块等核心概念,帮助读者快速掌握编程基础。 一…...
7、vue3做了什么
大佬认为有何优点: 组合式api----逻辑集中、对ts有更好的支持RFC–开放了一个讨论机制,可以看到每一个api的提案,方便源码维护,功能扩展,大家一起讨论 官方rfc响应式独立,new Proxy,天生自带来…...
OneCyber 平台
OneCyber 平台是一个专注于 网络安全 和 风险管理 的综合性解决方案平台。它旨在帮助企业和组织应对日益复杂的网络威胁,提供从威胁检测、风险评估到响应和恢复的全方位服务。以下是关于 OneCyber 平台的一些关键信息: 核心功能 威胁检测与分析ÿ…...
基于大语言模型与知识图谱的智能论文生成工具开发构想
基于大语言模型与知识图谱的智能论文生成工具开发构想 一、研究背景与意义 1.1 学术写作现状分析 #mermaid-svg-FNVHG5EiEgVSCpHK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FNVHG5EiEgVSCpHK .error-icon{fil…...
JUC大揭秘:从ConcurrentHashMap到线程池,玩转Java并发编程!
目录 JUC实现类 ConcurrentHashMap 回顾HashMap ConcurrentHashMap CopyOnWriteArrayList 回顾ArrayList CopyOnWriteArrayList: CopyOnWriteArraySet 辅助类 CountDownLatch 线程池 线程池 线程池优点 ThreadPoolExecutor 构造器各个参数含义: 线程…...
4.3--入门知识扫盲,IPv4的头部报文解析,数据报分片,地址分类(包你看一遍全部记住)
IPv4协议:网络世界的快递包裹指南(附拆箱说明书) “IPv4就像一张明信片,既要写清楚地址,又要控制大小别超重” —— 某网络工程师的桌面铭牌 一、IPv4报头:快递面单的终极艺术 1.1 报头结构图(…...
苍穹外卖-阿里云OSS使用
第一步: package com.sky.properties;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Component ConfigurationProperties(prefix "sky.alioss") …...
SSL/TLS 和 SSH 区别
背景知识 对称加密算法 定义:对称加密算法是指加密和解密使用同一个密钥的加密方式。 加密过程:发送方用密钥加密数据,接收方用相同的密钥解密数据。 优点:对称加密算法通常比非对称加密算法更高效,适合处理大量数据…...
Vue生命周期_Vue生命周期钩子
一、生命周期介绍 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。 在此过程中,它也会运行被称为生命周期钩子的函数,让…...
数据库设计实验(4)—— 数据更新实验
一、目的与要求 掌握用SQL语句实现数据的插入、修改和删除。 二、实验准备 1. 建立一个商店的数据库store,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别&#x…...
Apache DolphinScheduler:一个可视化大数据工作流调度平台
Apache DolphinScheduler(海豚调度)是一个分布式易扩展的可视化工作流任务调度开源系统,适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…...
再学:call与delegatecall、call转账 Bank合约
目录 1.call与delegatecall 2.transfer && call 3.若想内部传递abi编码 4.Bank合约 1.call与delegatecall call:切换上下文 delegatecall:不切换上下文 delegatecall可以理解为 A在调用B这个集成在A的方法 可升级合约,常用del…...
关于解决新版本spring项目请求测试接口返回406的问题
目录 一、问题产生 二、问题排查 (1)首先是打断点debug进行排查 (2)网上查找相关资料排查 (3)老项目测试 三、问题解决 一、问题产生 使用Apifox对后端发送请求进行接口测试时返回状态码406࿰…...
linux入侵排查_应急响应
1.实验目标 掌握linux系统中信息收集的方法 掌握linux系统中持久化操作方法及排查方式 掌握linux系统入侵排查思路 2.实验步骤 1.统计攻击者爆破次数 2.排查攻击者第一次使用恶意用户登录的时间 3.检查sudoer文件 4.排查计划任务 5.排查计划任务 6.排查恶意服务 7.排查…...
AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?
hi,大家,继上次体验完可灵、即梦和pixverse,今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品!欢迎加入讨论! 一、产品简介 1. Vidu:国产自研的「一致性标杆」 📌官网…...
R语言高效数据处理-自定义格式EXCEL数据输出
注:以下代码均为实际数据处理中的笔记摘录,所以很零散, 将就看吧,这一篇只是代表着我还在,所以可能用处不大,这一段时间都很煎熬! 在实际数据处理中为了提升效率,将Excel报表交付给…...
JavaScript基础-获取元素
在Web开发中,使用JavaScript动态地访问和操作网页上的元素是一项基本技能。通过获取页面上的特定元素,我们可以对其进行各种操作,比如修改内容、样式或属性等。本文将详细介绍几种获取DOM元素的方法,并探讨它们的特点及适用场景。…...
基于srpingboot高校智慧校园教学管理服务平台的设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...
【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐
【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐 我的版本:Word 2021 如需快速查看关键步骤,请直接阅读标红部分。 如果遇到无法调整的情况,可以直接下载我的示例文档进行参考:花括号和其他的示例公式.…...
uniapp-x vue 特性
生命周期 在组合式API中,组件可以监听应用和页面的生命周期。但由于应用和页面都有onShow和onHide,导致重名。所以在组合式的组件中监听页面的显示隐藏,改为了onPageShow和onPageHide。 这个和uniapp不一样,uniapp自定义组件无法…...
js逆向-下载某音乐
首先点击播放音乐,会拿到这样一个数据包 查看参数两个参数都是加密的 返回包里面有一个url,url拿到访问发现就是音频链接 访问直接下载下来 要逆向这两个参数采用xhr断点 这里加上路径的一部分 发现这些参数都是加密的 往下跟栈&am…...
百度OCR调用记录
根据说明,调用测试 设置注册的API Key和Secret Key 调用类(官方文档中有) 这里改传入路径; 测试问题 1.{"error_code":110,"error_msg":"Access token invalid or no longer valid"} 查到说是 …...
GraphDPI:通过互信息最大化进行图表示学习来消除部分标签歧义
论文源地址 1. 内容概要 本文提出了一种新的弱监督学习方法GraphDPI,解决部分标签学习(Partial Label Learning,PLL)中的标签歧义问题。GraphDPI结合了图表示学习和互信息最大化,通过图卷积网络(GCN&…...
项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>
MCUBoot项目创建完成后,接下来我们需要搭建多节点OTA系统最小框架,再将系统分模块搭建逐层完善,直到实现最终完整系统。开始动手干吧! 目录 一、创建项目 二、配置FSP 2.1 配置RS485属性 2.2 配置定时器0 2.3 创建初始化进程并配置属性 2.4 创建RS485进程并…...
C/C++模版初阶
文章目录 C/C模版初阶泛型编程函数模版函数模版概念函数模版格式函数模版的原理函数模版的实例化模版参数的匹配原则 类模版类模版的定义格式类模版的实例化 结语 我们今天又见面了,给生活加点<font colorred>impetus!!开启今天的编程之…...
1.FastAPI简介与安装
文章目录 为什么选择FastAPI?FastAPI支持的功能FastAPI的安装第一个FastAPI应用运行应用 为什么选择FastAPI? python web开发: Django: 适合大型复杂项目;Flask:适合灵活开发,搭建小型项目;FastAPI: 兼具开…...
重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南
重生之我在学Vue–第14天 Vue 3 国际化(i18n)实战指南 文章目录 重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南前言一、Vue I18n 核心配置1.1 基础环境搭建1.2 初始化配置1.3 全局挂载 二、多语言实现方案2.1 基础使用2.2 动态切换语言2.3 高级功能实现复数处理日期/货币…...
Java集合的底层原理
目录 Collection Arraylist HashSet 介绍 哈希值 哈希表的基本概念 HashSet 的内部实现 HashMap 哈希碰撞的处理 总结 TreeSet 特点 红黑树的特性 红黑规则 TreeSet 的内部实现 1. 存储结构 2. 添加元素(重点) 3. 查找元素 4. 删除元…...
SPI驱动(九) -- SPI_Master驱动程序
文章目录 参考资料:一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料: 参考资料: 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输,那么控制…...
MySQL常用函数详解及SQL代码示例
MySQL常用函数详解及SQL代码示例 引言当前日期和时间函数字符串函数数学函数聚合函数结论 引言 MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍…...
