首页/新闻资讯/正文详情

Python编程入门:从环境搭建到基础语法

发布时间:2026/11/16 0:36:09 来源:云帆数科 栏目:资讯中心
Python编程入门:从环境搭建到基础语法
1. Python编程语言概述Python是一种解释型、高级、通用的编程语言由Guido van Rossum于1989年底发明。它强调代码可读性使用缩进来定义代码块而不是像其他语言那样使用大括号或关键字。这种设计哲学使得Python代码看起来非常整洁和直观。Python支持多种编程范式包括面向对象编程、命令式编程和函数式编程。它拥有一个庞大而全面的标准库涵盖了从文件I/O到网络编程的各个方面。Python的解释器通常安装在/usr/local/bin/python3.8这样的路径下具体取决于操作系统和安装方式。提示在Linux/Unix系统中Python脚本的第一行通常包含#!/usr/bin/env python3这样的shebang行这告诉系统使用哪个解释器来执行脚本。这种写法比直接指定路径更灵活因为它会从环境变量中查找Python解释器。Python的版本管理是一个需要注意的问题。目前有两个主要的分支Python 2.x和Python 3.x。Python 2.x已于2020年停止支持所以新项目应该使用Python 3.x。在命令行中python命令可能指向Python 2.x而python3命令则明确指向Python 3.x。可以使用python --version或python3 --version来检查当前安装的版本。2. Python环境搭建与配置2.1 安装PythonPython的安装过程因操作系统而异在Windows上从Python官网下载最新的安装包运行安装程序勾选Add Python to PATH选项完成安装后可以在命令提示符中输入python验证是否安装成功在macOS上系统可能已经预装了Python 2.7建议使用Homebrew安装最新版本brew install python安装后python3命令将可用在Linux上大多数发行版已经预装了Python可以使用包管理器安装最新版本例如Ubuntu/Debian: sudo apt-get install python3CentOS/RHEL: sudo yum install python32.2 配置开发环境虽然Python可以在简单的文本编辑器中编写但使用专门的IDE或代码编辑器会大大提高效率。常见的选择包括VS Code轻量级但功能强大通过Python扩展提供智能提示、调试等功能PyCharm专业的Python IDE有社区版和专业版Jupyter Notebook适合数据分析和交互式编程配置VS Code的Python环境安装VS Code安装Python扩展创建一个.py文件VS Code会自动检测Python解释器也可以手动选择按F5开始调试注意在团队项目中建议使用虚拟环境来隔离不同项目的依赖。可以使用python -m venv venv创建虚拟环境然后source venv/bin/activateLinux/macOS或venv\Scripts\activateWindows来激活它。3. Python基础语法入门3.1 第一个Python程序传统的编程入门都是从Hello, World!开始的。在Python中这非常简单print(Hello, World!)将这段代码保存为hello.py然后在命令行中运行python hello.pyPython 3.x中的print是一个函数必须使用括号。这与Python 2.x不同后者print是一个语句。3.2 变量和数据类型Python是动态类型语言不需要显式声明变量类型# 整数 x 10 # 浮点数 y 3.14 # 字符串 name Alice # 布尔值 is_active True # 列表 numbers [1, 2, 3] # 元组 point (10, 20) # 字典 person {name: Bob, age: 25}Python支持的类型转换函数int() - 转换为整数float() - 转换为浮点数str() - 转换为字符串bool() - 转换为布尔值3.3 运算符Python支持常见的算术、比较和逻辑运算符# 算术运算符 a 10 5 # 加 b 10 - 5 # 减 c 10 * 5 # 乘 d 10 / 3 # 除浮点数结果 e 10 // 3 # 整除整数结果 f 10 % 3 # 取模 g 10 ** 2 # 幂运算 # 比较运算符 x y # 等于 x ! y # 不等于 x y # 大于 x y # 小于 x y # 大于等于 x y # 小于等于 # 逻辑运算符 a and b # 与 a or b # 或 not a # 非4. Python控制流4.1 条件语句Python使用if、elif和else来实现条件分支age 18 if age 13: print(儿童) elif age 18: print(青少年) else: print(成人)Python中没有switch语句可以使用if-elif链或字典来实现类似功能。4.2 循环结构Python提供了两种主要的循环结构while循环count 0 while count 5: print(count) count 1for循环通常用于遍历序列fruits [apple, banana, cherry] for fruit in fruits: print(fruit)循环控制语句break - 立即退出循环continue - 跳过当前迭代继续下一次else - 循环正常结束时执行不包括break退出的情况4.3 异常处理Python使用try-except块处理异常try: x int(input(请输入一个数字: )) print(10 / x) except ValueError: print(这不是一个有效的数字!) except ZeroDivisionError: print(不能除以零!) except Exception as e: print(f发生错误: {e}) else: print(计算成功!) finally: print(无论如何都会执行)5. Python函数与模块5.1 函数定义与调用函数是组织代码的基本单元使用def关键字定义def greet(name, greetingHello): 这是一个问候函数 参数: name (str): 要问候的人名 greeting (str): 问候语默认为Hello 返回: str: 完整的问候语 return f{greeting}, {name}! # 调用函数 message greet(Alice) print(message) # 输出: Hello, Alice!函数参数可以有默认值也可以使用关键字参数调用。Python还支持可变参数def sum_numbers(*args): 计算任意数量数字的和 return sum(args) print(sum_numbers(1, 2, 3)) # 输出: 65.2 模块与导入Python的模块是一个包含Python定义和语句的文件。使用import语句导入模块# 导入整个模块 import math print(math.sqrt(16)) # 输出: 4.0 # 从模块导入特定内容 from math import pi print(pi) # 输出: 3.141592653589793 # 给模块或导入内容起别名 import numpy as np from datetime import datetime as dt创建自己的模块创建一个.py文件例如mymodule.py在其中定义函数和变量在其他文件中使用import mymodule导入6. Python数据结构6.1 列表(List)列表是Python中最常用的数据结构之一它是可变的、有序的序列fruits [apple, banana, cherry] # 基本操作 fruits.append(orange) # 添加元素 fruits.insert(1, grape) # 在指定位置插入 fruits.remove(banana) # 移除元素 last fruits.pop() # 移除并返回最后一个元素 # 列表切片 first_two fruits[:2] # 前两个元素 last_two fruits[-2:] # 最后两个元素 reversed_list fruits[::-1] # 反转列表 # 列表推导式 squares [x**2 for x in range(10)]6.2 字典(Dictionary)字典是键值对的集合类似于其他语言中的map或hash tableperson { name: Alice, age: 25, city: New York } # 访问和修改 print(person[name]) # 输出: Alice person[age] 26 # 修改值 person[email] aliceexample.com # 添加新键值对 # 常用方法 keys person.keys() # 所有键 values person.values() # 所有值 items person.items() # 所有键值对 # 字典推导式 squares {x: x**2 for x in range(5)}6.3 元组(Tuple)和集合(Set)元组是不可变的序列通常用于存储不应更改的数据point (10, 20) x, y point # 元组解包集合是无序的唯一元素集合unique_numbers {1, 2, 3, 3, 4} # 结果为{1, 2, 3, 4} # 集合运算 a {1, 2, 3} b {3, 4, 5} union a | b # 并集 {1, 2, 3, 4, 5} intersection a b # 交集 {3} difference a - b # 差集 {1, 2}7. 文件操作与I/O7.1 读写文件Python使用内置的open函数处理文件# 写入文件 with open(example.txt, w) as file: file.write(Hello, World!\n) file.write(This is a test file.\n) # 读取文件 with open(example.txt, r) as file: content file.read() # 读取整个文件 print(content) # 逐行读取 with open(example.txt, r) as file: for line in file: print(line.strip()) # strip()移除行尾的换行符文件打开模式r - 读取默认w - 写入会覆盖现有内容a - 追加b - 二进制模式 - 读写模式注意使用with语句打开文件可以确保文件在使用后正确关闭即使在发生异常的情况下也是如此。这比手动调用close()更安全。7.2 JSON数据处理Python的json模块使得处理JSON数据变得简单import json # 将Python对象转换为JSON字符串 data { name: Alice, age: 25, is_active: True, skills: [Python, JavaScript] } json_str json.dumps(data, indent2) # indent参数用于美化输出 print(json_str) # 将JSON字符串转换为Python对象 parsed_data json.loads(json_str) print(parsed_data[name]) # 输出: Alice # 直接读写JSON文件 with open(data.json, w) as file: json.dump(data, file) with open(data.json, r) as file: loaded_data json.load(file)8. Python面向对象编程8.1 类与对象Python完全支持面向对象编程class Person: 这是一个表示人的类 # 类属性所有实例共享 species Homo sapiens def __init__(self, name, age): 初始化方法 self.name name # 实例属性 self.age age def greet(self): 实例方法 return fHello, my name is {self.name} and Im {self.age} years old. classmethod def from_birth_year(cls, name, birth_year): 类方法替代构造函数 current_year 2023 age current_year - birth_year return cls(name, age) staticmethod def is_adult(age): 静态方法与类相关但不访问实例或类 return age 18 # 创建实例 person1 Person(Alice, 25) print(person1.greet()) # 调用实例方法 # 使用类方法创建实例 person2 Person.from_birth_year(Bob, 1995) print(person2.greet()) # 调用静态方法 print(Person.is_adult(20)) # 输出: True8.2 继承与多态Python支持继承允许子类扩展或修改父类的行为class Student(Person): 学生类继承自Person def __init__(self, name, age, student_id): super().__init__(name, age) # 调用父类的__init__ self.student_id student_id def greet(self): # 重写父类方法 return fHi, Im {self.name}, a student with ID {self.student_id}. def study(self, subject): 子类特有的方法 return f{self.name} is studying {subject}. # 创建Student实例 student Student(Charlie, 20, S12345) print(student.greet()) # 调用重写后的方法 print(student.study(Python)) # 调用子类特有方法Python还支持多重继承但应谨慎使用以避免菱形继承等问题。9. Python标准库概览Python的标准库非常丰富以下是一些常用模块9.1 os和sys模块import os import sys # 获取当前工作目录 current_dir os.getcwd() # 列出目录内容 files os.listdir(.) # 创建目录 os.makedirs(new_dir, exist_okTrue) # 获取命令行参数 args sys.argv # 退出程序 sys.exit(0)9.2 datetime模块from datetime import datetime, timedelta # 当前日期时间 now datetime.now() print(now.strftime(%Y-%m-%d %H:%M:%S)) # 格式化输出 # 时间计算 tomorrow now timedelta(days1) # 解析字符串为datetime对象 dt datetime.strptime(2023-01-01, %Y-%m-%d)9.3 random模块import random # 随机整数 num random.randint(1, 10) # 随机选择 choice random.choice([a, b, c]) # 打乱列表 items [1, 2, 3, 4, 5] random.shuffle(items)9.4 re模块正则表达式import re # 匹配模式 pattern r\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\b text Contact us at infoexample.com or supportcompany.org # 查找所有匹配 emails re.findall(pattern, text) # 替换 new_text re.sub(pattern, [EMAIL REDACTED], text)10. Python进阶学习路径掌握了Python基础后可以考虑以下方向深入学习10.1 Web开发Flask/Django框架RESTful API设计数据库集成SQLAlchemy, Django ORM前端模板Jinja210.2 数据分析与科学计算NumPy高效数值计算Pandas数据处理与分析Matplotlib/Seaborn数据可视化SciPy科学计算10.3 机器学习与AIscikit-learn机器学习算法TensorFlow/PyTorch深度学习框架OpenCV计算机视觉NLTK/spaCy自然语言处理10.4 自动化与脚本系统管理脚本网络爬虫Scrapy, BeautifulSoup自动化测试Selenium, pytest任务调度Celery, APScheduler10.5 性能优化与并发多线程threading多进程multiprocessing异步编程asyncio性能分析cProfile, timeit提示学习Python最好的方式是实践。选择一个你感兴趣的项目边做边学。Python社区非常活跃遇到问题时Stack Overflow和官方文档通常是解决问题的最佳资源。

相关推荐

深入解析AM62L CPSW3 ALE:硬件交换引擎的VLAN、流量策略与线程映射
深入解析AM62L CPSW3 ALE:硬件交换引擎的VLAN、流量策略与线程映射

1. 项目概述:从硬件视角理解网络交换的核心引擎在嵌入式网络开发领域,尤其是涉及工业网关、车载通信或高性能工控设备时,我们常常需要与交换芯片的底层硬件直接对话。很多工程师对网络协议栈的上层(如TCP/IP)了如指掌&… · 2026/9/25 17:40:41

【关注可白嫖源码】--课程设计--毕业设计--springboot快递代拿系统[编号:project16522](案件分析)
【关注可白嫖源码】--课程设计--毕业设计--springboot快递代拿系统[编号:project16522](案件分析)

本文仅展示核心实现逻辑与部分代码片段,完整项目源码、配套文档、数据库脚本内容较多,篇幅有限无法全部放出。 有需要完整资源的同学,可以在评论区留言【资料或领源码】,我会一 一回复站内私信,发送完整文件 摘 要 随… · 2026/11/2 0:22:42

三极管开关电路原理与设计实践指南
三极管开关电路原理与设计实践指南

1. 三极管开关电路的基础认知三极管作为电子电路中最基础的元器件之一,其开关功能在数字电路和功率控制领域有着广泛应用。我第一次接触三极管开关电路是在大学电子实验课上,当时用2N3904搭建了一个简单的LED驱动电路,那种通过基极电流控制集… · 2026/9/26 14:04:37

电工证58同城通过率揭秘:特种作业证怎么考更稳妥?
电工证58同城通过率揭秘:特种作业证怎么考更稳妥?

电工证58同城通过率揭秘:特种作业证怎么考更稳妥? 你是不是也在58同城上看到一堆电工证招聘信息,写着“持证上岗”“无证拒收”?别急,今天咱们就来聊聊电工证58同城的通过率揭秘,还有那些你必须知道的报考干货。… · 2026/11/16 0:35:57

新乐电工证怎么办理真实经历:工地太忙根本没时间复习考试
新乐电工证怎么办理真实经历:工地太忙根本没时间复习考试

新乐电工证怎么办理真实经历:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是几乎所有特种作业人员的共性问题。特别是像新乐电工证这类必须持证上岗的证书,很多人因为工作节奏快、时间碎片化,常常一拖再拖,最后临到考试才手忙脚乱。我自己… · 2026/11/16 0:35:57

电工作业禁忌症千万别踩坑!找工作急需特种作业证怎么办?
电工作业禁忌症千万别踩坑!找工作急需特种作业证怎么办?

电工作业禁忌症千万别踩坑!找工作急需特种作业证怎么办? 你手头的电工证还有多久有效?是不是因为体检不合格、有高血压或心脏病,导致你被拒绝上岗?别急, 电工作业禁忌症… · 2026/11/16 0:35:57

石家庄特种工证件复审真实经历:过期了怎么办?别慌,流程全在这里
石家庄特种工证件复审真实经历:过期了怎么办?别慌,流程全在这里

石家庄特种工证件复审真实经历:过期了怎么办?别慌,流程全在这里 证书过期了不知道怎么复审延期,这种情况真的太常见了。我认识的一位漯河水利工程从业者小王,就因为没及时复审,导致项目暂停,耽误了整整三个月。他告诉我,当时真的是手忙脚乱,到处打听… · 2026/11/16 0:35:57

南方电网考电工证怎么网上查询报名条件与考试时间
南方电网考电工证怎么网上查询报名条件与考试时间

南方电网考电工证怎么网上查询报名条件与考试时间 之前考的证在外省能不能转过来?这是很多人在准备南方电网考电工证时最关心的问题。其实,现在国家推行“全国联网”制度,只要符合南方电网的报考要求, 外地的电工证是可以在网上查询… · 2026/11/16 0:35:57

修电车电工证怎么考试,上岗必备的考前必看攻略
修电车电工证怎么考试,上岗必备的考前必看攻略

修电车电工证怎么考试,上岗必备的考前必看攻略 怕考不过白交培训费?修电车电工证怎么考试,是很多准备从事电工作业的工人最关心的问题,特别是河南一线建筑工,很多人手上拿着电工证却不知道怎么报考、怎么准备、怎么确保一次通过。今天就从… · 2026/11/16 0:34:56

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

电工证培训的通知在哪考?别再被中介骗了
电工证培训的通知在哪考?别再被中介骗了

电工证培训的通知在哪考?别再被中介骗了 你是不是还在为 电工证培训的通知在哪考 发愁?网上搜了一堆信息,结果要么是挂羊头卖狗肉的培训机构,要么就是打着“包过”旗号的骗子?别急,今天我来给你讲讲, 电工证培训的通知… · 2026/11/16 0:00:34

高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟
高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟

高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟 你是不是也这样,站在高压电工实操考试的设备前,手心冒汗,生怕一个操作失误就被判不合格?实操考试心里没底怕挂科,这是很多准备考高级电工证的人的真实写照。别担心,今天… · 2026/11/16 0:00:34

电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享
电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享

电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享 怕考不过白交培训费?你不是一个人,信阳的李师傅去年刚转岗做电工,就因为没搞清楚电工证去哪个部门考核,差点交了8000块的培训费。别急,下面这份实操考试全攻略,告诉你电工证到底值不值得考… · 2026/11/16 0:00:34

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码