当前位置: 首页 > news >正文

Python基础入门

目录

1. 简介

2. 安装与设置

2.1 检查是否已安装Python

2.2 使用Python解释器

2.3 使用代码编辑器

3. Python基础语法

3.1 注释

3.2 变量和数据类型

3.3 输入输出

3.4 基本运算

4. 条件语句与循环

4.1 条件判断

4.2 循环

while循环

for循环

break与continue

5. 函数与模块

5.1 函数的定义

5.2 模块导入

6. 数据结构

6.1 列表(List)

6.2 元组(Tuple)

6.3 字典(Dictionary)

6.4 集合(Set)

7. 文件操作

7.1 读取文件

7.2 写入文件

8. 面向对象编程(OOP)

8.1 定义类与对象

8.2 继承

9. 结论


1. 简介

        Python是一种解释型、动态类型和高层次的编程语言,因其简洁、易读和功能强大而备受欢迎。Python被广泛用于Web开发、数据分析、人工智能、自动化等多个领域。对于初学者来说,Python是一个非常友好的语言,它的简单语法可以让你快速上手编写程序。


2. 安装与设置

2.1 检查是否已安装Python

大多数操作系统已经预装了Python。可以通过以下命令检查是否已安装Python:

python --version

或者:

python3 --version

如果没有安装,可以根据你的操作系统下载并安装最新版本的Python:Python官网

2.2 使用Python解释器

安装完成后,可以通过以下命令进入Python解释器,直接输入Python代码并即时运行:

python

或:

python3

退出解释器可以使用 exit() 或快捷键 Ctrl+D

2.3 使用代码编辑器

尽管Python解释器适合测试小片段代码,但在实际开发中,建议使用一个代码编辑器。例如,常用的编辑器有VSCode、PyCharm等,它们提供了丰富的代码补全、调试和插件支持。


3. Python基础语法

3.1 注释

Python中的注释分为单行注释和多行注释。

  • 单行注释: 使用 #
# 这是一个单行注释 print("Hello, Python!")
# 输出Hello, Python!
  • 多行注释: 使用三个引号('''"""
"""
这是一个多行注释。
可以用于文档字符串。
"""
print("Python注释示例")

3.2 变量和数据类型

Python是一种动态类型语言,不需要显式声明变量类型。变量可以直接赋值,Python会根据赋值自动推断类型。

  • 整数类型: int
x = 5
print(type(x))  # 输出:<class 'int'>
  • 浮点数: float
y = 3.14 print(type(y)) # 输出:<class 'float'>
  • 字符串: str
name = "Python" print(type(name)) # 输出:<class 'str'>
  • 布尔值: bool
is_valid = True print(type(is_valid)) # 输出:<class 'bool'>

3.3 输入输出

  • 输出: 使用 print() 函数
print("Hello, Python!")
  • 输入: 使用 input() 函数
name = input("请输入你的名字:") 
print("你好, " + name)

3.4 基本运算

Python支持基本的算术运算,如加减乘除:

a = 10
b = 3
print(a + b)  # 加法
print(a - b)  # 减法
print(a * b)  # 乘法
print(a / b)  # 除法(浮点数)
print(a // b) # 整除
print(a % b)  # 取余
print(a ** b) # 幂运算

4. 条件语句与循环

4.1 条件判断

Python使用 if-elif-else 结构来实现条件判断:

age = 18
if age >= 18:print("成年人")
elif age >= 13:print("青少年")
else:print("儿童")

注意:Python依赖缩进来表示代码块,而不是像其他语言那样使用大括号。

4.2 循环

while循环
i = 0
while i < 5:print(i)i += 1
for循环

for 循环常用于遍历列表、字符串等可迭代对象。

for i in range(5):print(i)

range() 函数生成一个从0到指定数值的序列,不包括上限。

break与continue
  • break:提前退出循环
  • continue:跳过当前循环的剩余部分,继续下一次循环
for i in range(5):if i == 3:break  # 当i为3时,退出循环print(i)for i in range(5):if i == 3:continue  # 当i为3时,跳过本次循环print(i)

5. 函数与模块

5.1 函数的定义

使用 def 关键字定义函数:

def greet(name):print("Hello, " + name)greet("Python")  # 调用函数

函数可以有返回值:

def add(a, b):return a + bresult = add(5, 3)
print(result)  # 输出 8

5.2 模块导入

Python的模块化设计允许将代码分成多个文件,并在需要时导入。

  • 导入标准模块:
import math
print(math.sqrt(16))  # 输出 4.0
  • 导入自定义模块: 假设你有一个名为 my_module.py 的文件,可以在另一个文件中使用 import 关键字导入它。
import my_module
my_module.my_function()

6. 数据结构

Python提供了多种常用的数据结构,包括列表、元组、字典和集合。

6.1 列表(List)

列表是可变的序列,可以存储不同类型的元素。

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # 输出 apple
fruits.append("orange")  # 添加元素
print(fruits)

6.2 元组(Tuple)

元组是不可变的序列,一旦创建,无法修改其元素。

coordinates = (10, 20)
print(coordinates[0])  # 输出 10

6.3 字典(Dictionary)

字典是一种键值对数据结构,允许通过键访问对应的值。

person = {"name": "Alice", "age": 25}
print(person["name"])  # 输出 Alice
person["age"] = 26  # 更新字典值

6.4 集合(Set)

集合是一个无序且不重复的元素集合。

fruits = {"apple", "banana", "cherry"}
fruits.add("orange")  # 添加元素
print(fruits)

7. 文件操作

Python支持文件的读写操作。

7.1 读取文件

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

7.2 写入文件

with open("example.txt", "w") as file:file.write("Hello, Python!")

8. 面向对象编程(OOP)

Python是支持面向对象编程的,类和对象是OOP的核心概念。

8.1 定义类与对象

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print(self.name + " is barking.")# 创建对象
my_dog = Dog("Buddy", 3)
my_dog.bark()  # 输出:Buddy is barking.

8.2 继承

Python支持类的继承,子类可以继承父类的属性和方法。

class Animal:def __init__(self, name):self.name = namedef speak(self):print(self.name + " makes a sound.")class Dog(Animal):def speak(self):print(self.name + " barks.")dog = Dog("Buddy")
dog.speak()  # 输出:Buddy barks.

9. 结论

        Python以其简洁易懂的语法和强大的功能,成为了编程入门者的首选语言。在本篇文章中,我们介绍了Python的基础语法、数据结构、函数、面向对象编程等内容。这些知识为你打下了学习Python的基础。

相关文章:

Python基础入门

目录 1. 简介 2. 安装与设置 2.1 检查是否已安装Python 2.2 使用Python解释器 2.3 使用代码编辑器 3. Python基础语法 3.1 注释 3.2 变量和数据类型 3.3 输入输出 3.4 基本运算 4. 条件语句与循环 4.1 条件判断 4.2 循环 while循环 for循环 break与continue 5.…...

深入了解路由

目录 1. 什么是路由&#xff1f;2. 路由与网关的关系3. 路由表4. 静态路由与动态路由5. 下一跳6. 动态路由及常用路由协议7. 路由算法解析 1. 什么是路由&#xff1f; 路由 是网络中将数据包从源地址传送到目标地址的过程。它涉及网络设备&#xff08;如路由器&#xff09;根据…...

三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则

概述 POP&#xff1a;面向过程编程&#xff08;Procedure Oriented Programming&#xff09; OOP&#xff1a;面向对象编程&#xff08;Object Oriented Programming&#xff09; AOP&#xff1a;面向切面编程&#xff08;Aspect Oriented Programming&#xff09; FOP&#x…...

JavaWeb开发4

JS对象 Array Array对象用于定义数组 var 变量名new Array(元素列表)&#xff1b; var 变量名[元素列表] 访问 arr[索引]值&#xff1b; 注意&#xff1a;JS中数组相对于Java中集合&#xff0c;数组的长度是可变的&#xff0c;JS是弱类型&#xff0c;所以可以存储任意类型…...

Git中Update和Pull的区别

在本文中&#xff0c;我们将介绍Git中的两个操作——”Update”和”Pull”&#xff0c;并解释它们之间的区别。 1、“Update”的含义和用法 “Update”是Git中用于更新本地仓库和工作区的操作。它的作用是将远程仓库中的最新变更同步到本地。当我们执行”Update”操作时&…...

物理安全概述

目录 物理安全概念物理安全威胁物理安全威胁物理安全保护物理安全分析与防护 物理安全概念 我不需要通过高深的网络技术来攻击你&#xff0c;直接在物理层面把你干倒&#xff0c;不要小瞧&#xff0c;其实这种攻击是最致命的&#xff0c;你把我的电脑给入侵了&#xff0c;可能…...

引领智慧文旅新纪元,开启未来旅游新境界

融合创新科技&#xff0c;重塑旅游体验&#xff0c;智慧文旅项目定义旅游新未来 在全球化的浪潮中&#xff0c;旅游已成为连接世界的重要纽带。智慧文旅项目&#xff0c;不仅仅是一次技术的革新&#xff0c;更是对旅游行业未来发展的一次深刻思考。信鸥科技通过运用云计算、大数…...

Qt开发技巧(十七):新窗口控件用智能指针,将一些配置类变量封装起来,Qt窗体的Z序叠放,子窗体的释放,Qt中的事件发送,Qt的全局头文件

继续讲一些Qt开发中的技巧操作&#xff1a; 1.新窗口控件用智能指针 通过对Qt自带Examples的源码研究你会发现&#xff0c;越往后的版本&#xff0c;越喜欢用智能指针QScopedPointer来定义对象&#xff0c;这样有个好处就是用的地方只管new就行&#xff0c;一直new下去&#xf…...

5G 现网信令参数学习(1) - MIB

MIB消息中的参数 systemFrameNumber 000101B, subCarrierSpacingCommon scs30or120, ssb-SubcarrierOffset 6, dmrs-TypeA-Position pos2, pdcch-ConfigSIB1 { controlResourceSetZero 10, searchSpaceZero 4 }, cellBarred notBarred, intraFreqReselection allowed, sp…...

stm32单片机个人学习笔记9(TIM输入捕获)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…...

ubuntu 安装haproxy

####安装##### sudo apt update sudo apt install haproxy sudo haproxy -v sudo systemctl status haproxy sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg-org####配置站点##### nano /etc/haproxy/haproxy.cfgfrontend www-httpbind *:5001mode httpdefault_ba…...

TF-A(Trusted Firmware-A)及其启动流程详解:以stm32MP1平台为例

0 参考资料 stm32官网 wiki https://www.trustedfirmware.org/ https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git Trusted Firmware-A documentation ARM Power State Coordination Interface SMC Calling Convention (SMCCC) Arm System Control and Management…...

FL Studio 2024 发布,添加 FL Cloud 插件、AI 等功能

作为今年最受期待的音乐制作 DAW 更新之一&#xff0c;FL Studio 2024发布引入了新功能&#xff0c;同时采用了新的命名方式&#xff0c;从现在起将把发布年份纳入其名称中。DAW 的新增功能包括在 FL Cloud 中添加插件、AI 驱动的音乐创作工具和 FL Studio 的新效果。 FL Clou…...

webpack实战 | 医保服务平台信息查询 | 国密SM4 | SM2 | 逆向分析

请求头参数加密&#xff0c;请求参数encData用的是SM4加密&#xff0c;signData用的是SM2加密&#xff0c;响应数据用的是SM4解密 请求头不要也没关系&#xff0c;直接搜signData&#xff0c;都打上断点&#xff0c;点击分页 signData的核心代码 o.doSignature就是4d09模块…...

脉冲扩散模型

论文 Spiking Diffusion Models 主要内容是提出了“脉冲扩散模型&#xff08;Spiking Diffusion Models, SDMs&#xff09;”&#xff0c;一种基于脉冲神经网络&#xff08;SNN&#xff09;的生成模型&#xff0c;旨在解决传统人工神经网络&#xff08;ANN&#xff09;在图像生…...

blender分离含有多个动作的模型,并导出含有材质的fbx模型

问题背景 笔者是模型小白&#xff0c;需要将网络上下载的fbx模型中的动作&#xff0c;分离成单独的动作模型&#xff0c;经过3天摸爬滚打&#xff0c;先后使用了blender&#xff0c;3d max&#xff0c;unity&#xff0c;最终用blender完成&#xff0c;期间参考了众多网络上大佬…...

胤娲科技:AI大模型的隐秘战争——当“智能”成为双刃剑

当AI不再是单纯的助手 想象一下&#xff0c;你正在训练一个AI模型&#xff0c;希望它能成为你的得力助手&#xff0c;帮你解决各种复杂问题。然而&#xff0c;有一天&#xff0c;你突然发现&#xff0c;这个模型不仅没有如你所愿&#xff0c; 反而悄悄地在代码库中埋下了“炸弹…...

RK平台 GPIO序号转换软件

RK平台 GPIO序号转换软件 下载地址 https://download.csdn.net/download/ruidongren/89900151 链接: link...

UDP协议和TCP协议

UDP协议&#xff1a; 是一种无连接的、简单的传输层通信协议&#xff0c;它在IP协议&#xff08;网络层&#xff09;之上提供服务。 特点&#xff1a; 无连接&#xff1a;在数据传输前&#xff0c;发送方和接收方之间不需要建立连接&#xff0c;可以直接发送数据。 简单&…...

算法题总结(十三)—— 动态规划(上)

动态规划 动态规划理论基础 什么是动态规划 动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的&#xff…...

如何使用node-fetch实现GraphQL批量查询:5个减少请求数量的实用技巧

如何使用node-fetch实现GraphQL批量查询&#xff1a;5个减少请求数量的实用技巧 【免费下载链接】node-fetch A light-weight module that brings the Fetch API to Node.js 项目地址: https://gitcode.com/gh_mirrors/no/node-fetch 在现代API开发中&#xff0c;频繁的…...

JSP 入门实战项目

一、JSP 基础实战项目&#xff0c;包含&#xff1a;1. login.jsp — 用户登录页面页面功能&#xff1a;用户名、密码输入表单提交到 userinfo.jsp 进行验证提供 “注册” 链接跳转2. userinfo.jsp — 登录信息校验页面核心逻辑&#xff1a;获取用户名、密码参数判断账号密码是否…...

蚂蚁集团Linux驱动工程师面试经验与NPU开发解析

1. 蚂蚁集团Linux驱动工程师社招面经全解析作为一名在Linux驱动开发领域摸爬滚打多年的工程师&#xff0c;我最近参加了蚂蚁集团的社招面试。整个面试过程持续了近两小时&#xff0c;面试官主要围绕NPU/AI芯片相关的驱动开发经验展开深度考察。虽然最终因为业务匹配度问题未能如…...

Windows下OpenClaw安装避坑:对接Qwen3-32B-Chat镜像详解

Windows下OpenClaw安装避坑&#xff1a;对接Qwen3-32B-Chat镜像详解 1. 为什么选择WindowsQwen3-32B-Chat组合 去年我在尝试自动化办公流程时&#xff0c;发现很多AI助手工具要么需要上传数据到云端&#xff0c;要么对硬件要求极高。直到遇到OpenClaw这个本地化AI智能体框架&…...

MPU6050 DMP硬件姿态解算与nRF52832低功耗BLE集成方案

1. 项目概述 MPU6050-DMP-Seeed-Tiny-BLE 是一个面向低功耗嵌入式姿态感知应用的完整固件解决方案&#xff0c;专为 Seeed Studio 推出的 Tiny BLE 模块&#xff08;基于 Nordic nRF52832 SoC&#xff09;设计&#xff0c;深度集成 Invensense MPU6050 六轴惯性测量单元&#x…...

告别Keil/IAR:用Cursor+CMake+GCC搭建STM32开发环境(附完整配置流程)

从Keil到现代工具链&#xff1a;STM32开发环境全面升级指南 嵌入式开发领域正在经历一场静默的革命——越来越多的工程师开始摆脱传统IDE的束缚&#xff0c;转向更灵活、更强大的开源工具链。如果你还在使用Keil或IAR进行STM32开发&#xff0c;可能已经感受到了这些商业工具的局…...

全球真空电子方向研究单位集锦

摘要&#xff1a;微波电子管是雷达、卫星、导弹、核聚变的核心 "心脏"&#xff0c;也是全球少数几个真正的 "卡脖子" 技术之一。全世界能独立研制高端微波管的国家不超过 5 个&#xff0c;顶尖研究机构更是屈指可数。本文承接《微波电真空器件硬核科普》系…...

欧姆龙NJ/NXPLC 全ST程序案例,全程序无加密,公司级框架,锂电新能源行业FB库文件

欧姆龙NJ/NXPLC 全ST程序案例&#xff0c;全程序无加密&#xff0c;公司级框架&#xff0c;锂电新能源行业FB库文件&#xff0c;NJ Socket功能PC端作为服务器&#xff0c;NJ作为客户端&#xff0c;汇川机械人控制&#xff0c;设备状态机&#xff0c;设备PPM&#xff0c;运行时间…...

为什么92%的Python工程师还没掌握无锁并发?——CPython 3.13 subinterpreter实战避坑清单(含内存泄漏检测脚本)

第一章&#xff1a;无锁并发的底层逻辑与CPython 3.13 subinterpreter革命性意义无锁并发&#xff08;Lock-Free Concurrency&#xff09;并非简单地“不用锁”&#xff0c;而是通过原子操作&#xff08;如 compare-and-swap、load-acquire/store-release&#xff09;构建线程安…...

YOLOX训练避坑指南:从VOC数据集制作到模型调优的全流程实战

YOLOX实战避坑手册&#xff1a;VOC数据集构建与工业级调优策略 当你第一次在屏幕上看到YOLOX识别出目标物体时&#xff0c;那种成就感就像解开一道复杂的数学题。但在此之前&#xff0c;大多数开发者都会在数据准备、环境配置和参数调优这三个环节反复跌倒。去年我们团队在智能…...