Python入门基础讲解

目录

 一、Python介绍

1.什么是 Python?

2.Python 可以做什么?

3.为何选择 Python?​

4.Python与其他语言的区别

5.Python的生态库

二、Python入门基础知识

1.Python配置

2.Python语法

3.Python注释

4.Python变量

5.数据类型

数据类型分类表

1.获取数据类型

2.设定指定的数据类型

三.常见的数据类型介绍

1.数字类型

2.字符串类型

字符串方法分类表

字符串常见的几种用法

3.布尔类型和运算符

布尔类型

Python 中转换为 False 的值类型表格

运算符(七种)

算术运算符

比较运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

四.Python四种集合数据类型

数据类型对比表

1.列表list

列表方法表格

2.元组tuple

3.集合set

4.字典dictionary

五.Python语法

1.if else语句

2.while循环

3.for循环

4.def函数

 一、Python介绍

1.什么是 Python?

Python 是一门由 Guido van Rossum 于 1991 年创建并发布的流行编程语言。它以简洁性、灵活性和强大功能著称,语法风格类似于英语且受数学影响,强调代码可读性,通过缩进界定代码块,而非使用分号或括号,在不同平台(如 Windows、Mac、Linux、Raspberry Pi 等)上都能稳定运行。​

2.Python 可以做什么?

  1. ​Web 开发(服务器端):借助 Django、Flask 等框架,Python 能高效搭建 Web 应用。Django 是功能完备的重量级框架,内置用户认证、数据库管理等功能,适合开发大型 Web 应用,像 Instagram、Pinterest 等知名网站都基于此实现复杂业务逻辑和高并发处理;Flask 则是轻量级框架,便于开发者按需扩展插件,常用于小型 Web 应用和 API 接口开发 。​

  2. 数据科学与机器学习:Python 是该领域的核心工具。Pandas 和 NumPy 库可高效处理和分析结构化数据;Scikit-learn 集成大量经典机器学习算法,方便模型训练与预测;TensorFlow 和 PyTorch 等深度学习框架,广泛应用于图像识别、自然语言处理、语音识别等领域,助力构建复杂神经网络模型。​

  3. 自动化脚本与运维:在系统管理中,Python 可编写脚本自动化处理文件、监控系统状态、管理网络设备。通过 Paramiko 库能远程 SSH 连接服务器执行命令、传输文件;利用 Netmiko 库可与路由器、交换机等网络设备交互,实现配置自动化,大幅提升运维效率。​

  4. 游戏开发:虽然 Python 在游戏开发领域并非主流,但 Pygame 库为 2D 游戏开发提供图形绘制、声音处理等功能,适合开发休闲、教育类游戏;此外,Python 还能与 Blender 等游戏引擎结合,通过脚本扩展游戏功能。​

  5. 科学研究与教育教学:科学家常用 Python 处理实验数据、模拟复杂模型;在教育领域,因其语法简单易懂,Python 成为编程入门的首选语言,帮助学生快速掌握编程思维和基础技能。​

3.为何选择 Python?​

  1. 语法简洁易懂:Python 语法接近英语,代码行数少,新手容易上手,开发效率高。

  2. 多范式支持:可采用程序、面向对象或函数式等多种编程方式,满足不同开发需求。

  3. 解释型语言:Python 在解释器系统上运行,代码编写后可立即执行,利于快速原型设计。

  4. 丰富的库和框架:拥有海量第三方库和框架,涵盖 Web 开发、数据处理、机器学习等领域,极大减少重复开发工作。​

  5. 跨平台兼容性:能够在多种操作系统上运行,且代码移植性强,降低开发和部署成本。​

4.Python与其他语言的区别

语言主要优势领域典型应用案例
PythonWeb 开发、数据科学、自动化Instagram(Django)、数据分析脚本
Java企业级应用、Android 开发大型企业系统、Android 应用
C++游戏开发、系统软件、高性能计算游戏引擎(Unreal Engine)、操作系统
JavaScriptWeb 前端、Node.js 后端网页交互逻辑、服务器端 API

5.Python的生态库

数据科学:Pandas、NumPy、Matplotlib
机器学习:Scikit-learn、TensorFlow、PyTorch
Web 开发:Django、Flask、FastAPI
自动化:Selenium、Requests、Paramiko

二、Python入门基础知识

1.Python配置

如果不嫌麻烦可以安装python解释器

Welcome to Python.orgThe official home of the Python Programming Languagehttps://www.python.org/

不想安装直接用我这套,不用自己下载解释器,软件自动安装配置解释器

2025年AI的anaconda环境安装教程以及写python代码教程_register anaconda3 as the system python 3.13-优快云博客文章浏览阅读900次,点赞12次,收藏13次。《Anaconda安装与配置指南》摘要:本文介绍Anaconda的下载与安装流程。用户可从官网或国内镜像站(清华/北大)获取安装包,建议选择2025版本。安装时需注意:1)使用空文件夹存放;2)推荐勾选全部安装选项(包括创建快捷方式、注册默认Python等);3)不建议勾选PATH环境变量以避免冲突。安装后需验证:在cmd输入conda检查是否成功,若失败需手动配置系统环境变量(添加Anaconda及其Scripts路径)。最后通过Anaconda Navigator启动Jupyter Notebook。_register anaconda3 as the system python 3.13 https://blog.youkuaiyun.com/partJava/article/details/148899591?spm=1001.2014.3001.5501也可以连着把这个也配置了,学python都用pycharm,但我的python讲解主要用Jupyter Notebook

基于anaconda创建python环境安装pytorch深度学习框架配置到pycharm软件(包含pycharm的详细安装教程)_pycharm anconda gurobi 安装教程-优快云博客文章浏览阅读570次,点赞14次,收藏15次。摘要:本文介绍了PyTorch环境的完整安装流程。首先通过Anaconda创建新的Python环境,然后在终端执行PyTorch官网提供的安装命令,建议使用清华镜像加速下载。接着下载安装PyCharm社区版,创建项目时选择之前建立的Anaconda环境。最后新建Python文件测试环境,运行简单代码输出11×12张量以验证安装成功。整个过程涵盖了从环境配置到开发工具安装的全部步骤。_pycharm anconda gurobi 安装教程 https://blog.youkuaiyun.com/partJava/article/details/148919842?spm=1001.2014.3001.5501第二个配不配置都可以学习。检验是否有解释器

也可以命令行输入python,试试输出hello world,exit()是退出命令行。都是英文符号。

2.Python语法

1.打开Jupyter Notebook,安装教程里面有讲解,

2.python缩进

标准的写法是自动缩进四个空格,但是空格数至少可为一

还要注意的是一个代码空格数要求数量一样,不然报错

3.Python注释

这个解释器格式化了符号,多行解释是例子那两种。

4.Python变量

Python 变量命名规则:

变量名必须以字母或下划线字符开头
变量名称不能以数字开头
变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
变量名称区分大小写(abc、Abc 和ABC是三个不同的变量)

Python 允许使用单引号或双引号定义字符串,效果完全一致

全局变量和局部变量\以及global变量

5.数据类型

以下是整理后的数据类型分类表格:

数据类型分类表

分类数据类型关键特性 & 典型场景简单示例
文本类型str存储 Unicode 字符,支持丰富字符串操作msg = "你好,Python"
数值类型int整数,大小无限制count = 100
float浮点数,基于 IEEE 754 标准price = 9.9
complex复数(实部 + 虚部,用j标识虚部)z = 3 + 4j
序列类型list可变、有序序列,可动态增删改元素nums = [1, 2, 3]
tuple不可变、有序序列,性能更优coords = (10, 20)
range生成整数范围序列,节省内存for i in range(5):(生成 0-4)
映射类型dict无序键值对集合,键唯一且需不可变user = {"name": "Alice"}
集合类型set可变、无序集合,元素唯一,支持集合运算s = {1, 2, 3}
frozenset不可变、无序集合,可作为字典键fs = frozenset({1, 2})
布尔类型bool只有True/False,本质是int子类is_ok = True
二进制类型bytes不可变字节序列(元素 0-255)b = b'hello'
bytearray可变字节序列,可修改ba = bytearray(b'hello')
memoryview内存视图,高效访问其他二进制对象内存mv = memoryview(b'hello')

1.获取数据类型

使用 type() 函数获取任何对象的数据类型

2.设定指定的数据类型

三.常见的数据类型介绍

1.数字类型

整型(int)、浮点型(float)、复数型(complex)以及随机型(random)

2.字符串类型

字符串方法分类表

分类方法描述示例结果
大小写转换upper()转换为大写"hello".upper()"HELLO"
lower()转换为小写"WORLD".lower()"world"
capitalize()首字母大写,其余小写"hello WORLD".capitalize()"Hello world"
title()每个单词首字母大写"hello world".title()"Hello World"
swapcase()大小写互换"Hello".swapcase()"hELLO"
查找替换count(sub[, start[, end]])统计子串出现次数"ababab".count("ab")3
find(sub[, start[, end]])查找子串首次出现位置(失败返回 -1)"hello".find("ll")2
rfind(sub[, start[, end]])从右侧查找子串首次出现位置"hello".rfind("l")3
index(sub[, start[, end]])同 find,但失败时抛出 ValueError"hello".index("ll")2
replace(old, new[, count])替换子串"hello".replace("l", "L", 1)"heLlo"
startswith(prefix)判断是否以指定前缀开头"hello".startswith("he")True
endswith(suffix)判断是否以指定后缀结尾"hello".endswith("lo")True
格式化format(*args, **kwargs)格式化字符串(新风格)"Hello, {}!".format("Alice")"Hello, Alice!"
format_map(mapping)使用映射对象格式化"{name} is {age}".format_map({"name": "Bob", "age": 25})"Bob is 25"
join(iterable)将可迭代对象用指定字符串连接"-".join(["a", "b", "c"])"a-b-c"
center(width[, fillchar])居中对齐,填充字符"hello".center(9, '*')"hello"
ljust(width[, fillchar])左对齐,填充字符"hello".ljust(9, '*')"hello****"
rjust(width[, fillchar])右对齐,填充字符"hello".rjust(9, '*')"****hello"
zfill(width)左侧补零到指定宽度"42".zfill(5)"00042"
修剪分割strip([chars])去除字符串两侧指定字符(默认空格)" hello ".strip()"hello"
lstrip([chars])去除左侧指定字符"**hello".lstrip("")"hello"
rstrip([chars])去除右侧指定字符"hello***".rstrip("*")"hello"
split(sep=None, maxsplit=-1)按分隔符分割字符串成列表"a,b,c".split(",")["a", "b", "c"]
rsplit(sep=None, maxsplit=-1)从右侧开始分割字符串"a,b,c".rsplit(",", 1)["a,b", "c"]
splitlines([keepends])按行分割字符串"a\nb\nc".splitlines()["a", "b", "c"]
partition(sep)按分隔符将字符串分成三部分"hello".partition("l")("he", "l", "lo")
rpartition(sep)从右侧开始按分隔符分割"hello".rpartition("l")("hel", "l", "o")
判断检查isalpha()是否全是字母"abc".isalpha()True
isdigit()是否全是数字"123".isdigit()True
isalnum()是否全是字母或数字"abc123".isalnum()True
isspace()是否全是空白字符" ".isspace()True
isupper()是否全是大写字母"HELLO".isupper()True
islower()是否全是小写字母"hello".islower()True
istitle()是否符合标题格式(首字母大写)"Hello World".istitle()True
in 操作符子串是否存在"a" in "abc"True
编码解码encode(encoding='utf-8')字符串编码为字节"你好".encode('utf-8')b'\xe4\xbd\xa0\xe5\xa5\xbd'
decode(encoding='utf-8')字节解码为字符串b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8')"你好"
其他maketrans(x[, y[, z]])创建字符映射转换表table = str.maketrans("abc", "123")-
translate(table)根据转换表替换字符"abc".translate(table)"123"
expandtabs(tabsize=8)将制表符 \t 转换为空格"a\tb".expandtabs(4)"a b"

表格说明:表格按功能分类展示 Python 字符串方法,包含方法名称、描述、示例及结果。分类包括大小写转换、查找替换、格式化、修剪分割、判断检查、编码解码等。

字符串常见的几种用法

3.布尔类型和运算符

布尔类型

布尔表示两值之一:True 或 False。

bool 类型只有两个取值,分别是 True(表示真)和 False(表示假), 首字母必须大写,否则 Python 会将其当作变量而不是布尔值。

Python 中转换为 False 的值类型表格
类型示例值说明
数值类型0整数零
0.0浮点数零
0j复数零
字符串类型""''空字符串
容器类型[]空列表
()空元组
set()空集合
{}空字典
特殊常量None表示空值或无
自定义类型未定义 __bool__()若类未定义 __bool__() 方法且 __len__() 返回 0,实例转换为 False

运算符(七种)

算术运算符

用于数值的加减乘除等基本运算,操作数一般为数值类型(intfloat 等)。

运算符描述示例结果
+加法3 + 58
-减法10 - 46
*乘法3 * 618
/除法(结果为浮点数)7 / 23.5
//整除(结果取整数部分)7 // 23
%取模(求余数)7 % 21
**幂运算2 ** 38

比较运算符

用于比较两个值的大小或是否相等,结果返回布尔值(TrueFalse),操作数可以是数值、字符串等可比较的类型。

运算符描述示例结果
==等于5 == 5True
!=不等于5 != 3True
>大于6 > 3True
<小于2 < 5True
>=大于等于4 >= 4True
<=小于等于3 <= 5True

赋值运算符

用于给变量赋值,也可结合算术运算符实现复合赋值。

运算符描述示例等价写法
=基本赋值x = 10
+=加法赋值x += 5x = x + 5
-=减法赋值x -= 3x = x - 3
*=乘法赋值x *= 2x = x * 2
/=除法赋值(浮点数)x /= 2x = x / 2
//=整除赋值x //= 2x = x // 2
%=取模赋值x %= 3x = x % 3
**=幂运算赋值x **= 2x = x ** 2

逻辑运算符

用于逻辑判断,操作数一般为布尔值,结果也为布尔值。

运算符描述示例结果逻辑规则(ab 为布尔值)
and逻辑与True and FalseFalse都为 True 才返回 True,否则 False
or逻辑或True or FalseTrue只要有一个 True 就返回 True
not逻辑非not TrueFalse取反(TrueFalse,反之亦然)

位运算符

用于对整数的二进制位进行操作,适用于底层数据处理。

运算符描述示例(a=60b=13结果(二进制/十进制)
&按位与(逐位 AND)a & b0000 110012
|按位或(逐位 OR)a | b0011 110161
^按位异或(逐位 XOR)a ^ b0011 000149
~按位取反~a1100 0011(补码表示)-61
<<左移(低位补 0)a << 21111 0000240
>>右移(高位补符号位)a >> 20000 111115

成员运算符

用于判断序列(如列表、字符串等)中是否包含某个元素。

运算符描述示例结果
in元素是否在序列中'a' in 'abc'True
not in元素是否不在序列中'd' not in 'abc'True

身份运算符

用于判断两个变量是否引用同一对象(内存地址相同)。

运算符描述示例结果说明
is是否是同一对象a = [1,2]; b = a; a is bTrueab 指向同一列表对象
is not是否不是同一对象a = [1,2]; b = [1,2]; a is not bTrueab 是内容相同的不同对象

四.Python四种集合数据类型

以下是Python中常见数据类型的特性对比表格:

数据类型对比表

数据类型有序性可变性允许重复元素索引方式定义示例
列表位置索引(如[0])my_list = [1, 2, 3]
元组位置索引(如(0))my_tuple = (1, 2, 3)
集合无索引my_set = {1, 2, 3}
字典✅*❌(键)键索引(如['a'])my_dict = {'a': 1, 'b': 2}

*注:Python 3.7及以上版本中字典保持插入顺序,因此可视为有序。

1.列表list

列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。

基础

进阶

列表方法表格

方法名描述示例
append(x)在列表末尾添加元素 xlst = [1, 2]; lst.append(3)[1, 2, 3]
extend(iter)将可迭代对象 iter 的所有元素添加到列表末尾lst = [1, 2]; lst.extend([3, 4])[1, 2, 3, 4]
insert(i, x)在索引 i 处插入元素 xlst = [1, 3]; lst.insert(1, 2)[1, 2, 3]
remove(x)删除列表中第一个值为 x 的元素,若不存在则报错lst = [1, 2, 2]; lst.remove(2)[1, 2]
pop([i])删除并返回索引 i 的元素(默认最后一个)lst = [1, 2, 3]; lst.pop(1)2(列表变为 [1, 3]
clear()移除列表所有元素lst = [1, 2]; lst.clear()[]
index(x)返回第一个值为 x 的元素的索引,若不存在则报错lst = [10, 20, 30]; lst.index(20)1
count(x)统计元素 x 在列表中出现的次数lst = [1, 2, 2, 3]; lst.count(2)2
sort()对列表进行排序(可指定 keyreverse 参数)lst = [3, 1, 2]; lst.sort()[1, 2, 3]
reverse()反转列表元素的顺序lst = [1, 2, 3]; lst.reverse()[3, 2, 1]
copy()返回列表的浅拷贝lst = [1, 2]; new_lst = lst.copy()new_lst[1, 2]

注意事项

  • 部分方法(如 sortreverse)直接修改原列表,无返回值。
  • 使用 popremove 时需注意索引或元素是否存在,否则会引发 IndexErrorValueError
  • copy() 仅生成浅拷贝,嵌套结构需使用 deepcopy 实现完全独立复制。

2.元组tuple

元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

创建一个元素的元组,元素后面必须有逗号,不然不能识别为元组。

以下是 Python 元组(tuple)常用方法的表格总结:

方法名描述示例
count(value)返回元组中指定值出现的次数(1,2,2).count(2)2
index(value)返回指定值首次出现的索引,未找到则抛出 ValueError(1,2,3).index(3)2

注意:元组为不可变序列,因此无添加/删除元素的方法。如需修改需转换为列表后再转回元组,或者两元组相加得到新的元组。

3.集合set

集合是无序和无索引的集合。在 Python 中,集合用花括号编写。

集合方法总结

功能分类方法描述示例返回值
元素添加add(element)添加单个元素(存在则忽略)。s.add(10)None
update(iterable)添加多个元素(可接受列表、元组等)。s.update([20, 30])None
元素删除remove(element)删除指定元素(不存在则抛 KeyError)。s.remove(10)None
discard(element)删除指定元素(不存在不报错)。s.discard(10)None
pop()随机删除并返回一个元素(集合无序,不可预测)。popped = s.pop()被删除的元素
clear()清空集合所有元素。s.clear()None
集合运算union(*others)并集:返回所有集合的元素(去重)。s.union(s1, s2)s | s1 | s2新集合
intersection(*others)交集:返回所有集合的共同元素。s.intersection(s1, s2)s & s1 & s2新集合
difference(*others)差集:返回只在原集合中的元素。s.difference(s1)s - s1新集合
symmetric_difference(other)对称差集:返回只在其中一个集合中的元素。s.symmetric_difference(s1)s ^ s1新集合
关系判断issubset(other)判断是否为子集(所有元素都在 other 中)。s.issubset(s1)s <= s1bool
issuperset(other)判断是否为超集(包含 other 的所有元素)。s.issuperset(s1)s >= s1bool
isdisjoint(other)判断是否无交集(无共同元素)。s.isdisjoint(s1)bool
其他操作len(set)返回集合元素个数。len(s)整数
in判断元素是否在集合中。10 in sbool
copy()复制集合(浅拷贝)。s_copy = s.copy()新集合

4.字典dictionary

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。

基础

进阶

嵌套字典

Python字典方法速查表

方法或操作功能描述示例返回值类型
访问元素
get(key[, default])获取键对应的值,不存在时返回默认值my_dict.get("name", "未知")值或默认值
items()返回键值对视图 (key, value)my_dict.items()视图对象
keys()返回键视图my_dict.keys()视图对象
values()返回值视图my_dict.values()视图对象
修改字典
update(other)用其他字典更新(存在则覆盖,不存在则添加)my_dict.update({"age": 30})None
setdefault(key, default)键存在返回值,不存在则插入并设默认值my_dict.setdefault("city", "北京")值或默认值
pop(key[, default])删除键并返回值,不存在返回默认值或抛异常my_dict.pop("name", "未知")值或默认值
popitem()删除并返回最后插入的键值对(Python 3.7+有序)my_dict.popitem()(key, value) 元组
clear()清空字典my_dict.clear()None
判断与其他
in判断键是否存在"name" in my_dictbool
copy()返回浅拷贝new_dict = my_dict.copy()新字典
fromkeys(iterable, value)创建新字典,键来自可迭代对象,值统一设置dict.fromkeys(["a", "b"], 0)新字典

表格特点:

  • 按功能分类(访问、修改、判断)
  • 包含方法签名、功能说明、示例和返回值
  • 关键操作如popitem()标注了版本依赖
  • 默认值参数用[]标注表示可选

五.Python语法

逻辑运算符表

运算符名称Python 语法数学符号示例(True 情况)
等于a == b=5 == 5
不等于a != b3 != 5
小于a < b<2 < 5
小于等于a <= b4 <= 4
大于a > b>6 > 3
大于等于a >= b7 >= 7

1.if else语句

2.while循环

3.for循环

4.def函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值