🐍 Python 入门全解析:从认识到实战,一篇搞懂!
大家好呀!今天带来的是一篇为 Python 新手量身打造的入门攻略🎉——不光有知识点,还有图,还有实际操作讲解,活泼有趣不枯燥,快收藏起来慢慢看!😉
🌟 一、什么是 Python?
Python 是在 1980 年代末、90 年代初由 Guido van Rossum 在荷兰国家数学与计算机科学研究所开发出来的。它是一门语法简洁、可读性强的高级编程语言,适合新手也能满足大佬!🤓
🧠 Python 的主要特点:
- 解释型语言:写完直接跑,不用编译,开发效率杠杠滴~
- 交互式语言:可以在命令行一条条执行代码(就像和 Python 聊天)💬
- 面向对象:支持类和对象,让代码更有组织。
- 对初学者友好:语法简洁直观,非常适合第一次学编程的同学!💡
🧰 二、Python 的应用场景
Python 的强大让人惊叹,它能做的事简直太多了!
- ☁️ 云计算:OpenStack 等平台的首选语言。
- 🌐 Web 开发:像 Django、Flask 都是超棒的框架,YouTube、豆瓣等都用它。
- 🤖 人工智能 & 科学计算:NumPy、Pandas、Matplotlib,都是 AI 必备工具。
- 🧑💻 系统运维:写脚本自动化任务,系统管理员最爱!
- 💸 金融分析与交易:在金融圈也是香饽饽。
- 🎨 图形界面开发:支持 PyQt、Tkinter 等。
🔍 一些使用 Python 的知名企业:
- Google:搜索引擎核心代码就有 Python。
- NASA:用它分析宇宙数据!🌌
- CIA:中情局都在用!(你想不到吧)🕵️♂️
- YouTube、Dropbox、Instagram、Facebook、知乎、OpenAI 等等……
是不是很厉害!💥
🖥️ 三、Python 环境安装
安装教程见另一篇文章,这里我们先来聊聊 Python 怎么运行。
🚀 四、Python 的代码怎么执行?
✅ 方法一:使用 IDLE(Python 自带的解释器)
- 在电脑搜索栏输入
python
- 找到并打开 IDLE (Python 3.8 32-bit)
- 输入代码回车即可执行
✅ 方法二:命令行执行
- 任意目录中打开命令行(CMD)
- 输入
python
,进入解释器 - 写代码直接执行!
✅ 方法三:使用专业编辑器(如 PyCharm)
- 打开 PyCharm 创建项目
- 新建
.py
文件 - 输入代码,点击运行按钮
⌨️ PyCharm 快捷键小技巧:
Shift + 回车
:换行Ctrl + S
:保存Ctrl + /
:注释Ctrl + D
:复制当前行Ctrl + Alt + L
:自动格式化代码
🐞 PyCharm 调试技巧
调试程序,就是“单步”执行代码,观察每一步结果:
- 设置断点 🛑
- 点击 Debug 按钮 🐛
- 单步执行 👣,观察变量值变化
📤 五、Python 的输出与输入
🖨️ 1. 输出:print() 函数
用法:
print(数据1, 数据2, ..., sep=' ', end='\n')
说明:
sep
:多个数据之间的分隔符,默认是空格end
:结束符,默认换行符\n
🌰 示例:
print("hello world!")
print("我们班有多少人:", 12)
print(1, 2, 3, 4)
print(1, 2, 3, 4, sep="###", end="\n\n\n")
⌨️ 2. 输入:input() 函数
格式:
input("请输入提示信息")
🌰 示例:
name = input("请输入您的姓名:")
print("你输入的内容是:", name)
📌 注意:input 输入的内容永远是字符串类型,需要转成数字的话可以用
int()
或float()
✍️ 六、Python 注释
注释让代码更易懂,不会影响运行。
💬 单行注释:用 #
# 这是一个注释
print("Hello")
📄 多行注释:用三个单引号 '''
或三个双引号 """
'''
这是多行注释
用三个单引号包住
'''
"""
也可以用三个双引号~
"""
⚠️ 单行注释不能嵌套,多行注释可以嵌套使用哦!
📘 七、变量与字符串
1. 什么是变量
变量可以理解为程序中用于存储数据的名称。它的本质是一个用来指向内存中某个值的标识符,通过变量可以操作内存中存储的值。
在 Python 中,使用变量可以给数据起一个名字,方便后续引用和操作。
2. 变量的定义与赋值
语法:
变量名 = 值
等号 =
是赋值符号,表示将右侧的值赋给左侧的变量。
示例:
name = "Alice"
age = 18
height = 1.65
上面的代码定义了三个变量:
name
:字符串类型age
:整数类型height
:浮点数类型
3. 查看变量的类型
可以使用内置函数 type()
查看变量的数据类型。
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
4. 多变量赋值
Python 支持同时给多个变量赋值。
示例 1:同时赋不同值
a, b, c = 1, 2, 3
print(a, b, c) # 输出:1 2 3
示例 2:多个变量赋相同值
x = y = z = 10
print(x, y, z) # 输出:10 10 10
5. 变量的命名规则(重点)
Python 中的变量命名必须遵循以下规则和建议:
✅ 合法命名规则:
- 只能包含字母、数字和下划线 (
_
) - 不能以数字开头
- 不能使用 Python 的关键字
- 区分大小写(
Name
和name
是两个不同的变量)
示例:
user_name = "Tom" # 合法
_age = 20 # 合法
1name = "Alice" # ❌ 非法,不能以数字开头
class = "A" # ❌ 非法,class 是关键字
✅ 命名风格建议:
- 使用小写字母加下划线(snake_case)命名变量
- 变量名要具有描述性,避免单个字母或无意义命名
不推荐:
x = "hello"
推荐:
greeting_message = "hello"
6. Python 中的关键字(保留字)
关键字是 Python 语言保留的、有特殊含义的词,不能用作变量名。
查看所有关键字的方法:
import keyword
print(keyword.kwlist)
输出如下(Python 3.11 示例):
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',
'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
✅ 练习题:
练习: 下面哪些变量命名是合法的?哪些是不合法的?请说明理由。
1abc = 100
userName = "Tom"
_user = 20
global = 3
height = 1.75
参考答案:
1abc
❌:以数字开头,不合法userName
✅:合法(虽然是 camelCase,但语法没问题)_user
✅:合法global
❌:是关键字,不合法height
✅:合法
7. 转义字符
当字符串中需要包含无法直接键入的字符时,可以使用转义字符(Escape Character),它以反斜杠 \
开头。常用的转义字符包括:
转义字符 | 含义 |
---|---|
\\ | 表示反斜杠 |
\' | 表示单引号 |
\" | 表示双引号 |
\n | 表示换行 |
\t | 表示制表符(Tab) |
示例:
print("He said: \"Hello!\"") # 输出:He said: "Hello!"
print('It\'s a good day.') # 输出:It's a good day.
print("First line\nSecond line") # 换行
print("Column1\tColumn2") # 制表符
8. 字符串索引与切片
字符串是由字符组成的有序序列,可以通过索引访问其中的字符。索引从 0 开始,也支持负数索引表示从后往前数。
字符串索引
text = "Python"
print(text[0]) # 输出:P
print(text[-1]) # 输出:n
字符串切片
切片用于获取字符串的子串,语法为 字符串[起始索引:结束索引:步长]
。结束索引不包括在结果中。
text = "Python"
print(text[0:2]) # 输出:Py
print(text[::2]) # 输出:Pto(步长为2)
print(text[::-1]) # 输出:nohtyP(反转字符串)
注意:超出索引范围不会报错,只会返回有效部分。
9. 字符串格式化
格式化可以将变量值嵌入到字符串中,常用方法包括:
① 百分号 %
格式化(旧式)
name = "Alice"
age = 20
print("My name is %s, and I'm %d years old." % (name, age))
② str.format()
方法
print("My name is {}, and I'm {} years old.".format(name, age))
print("My name is {0}, and I'm {1} years old.".format(name, age))
print("My name is {name}, and I'm {age} years old.".format(name="Bob", age=25))
③ f-string(Python 3.6+ 推荐)
name = "Charlie"
age = 22
print(f"My name is {name}, and I'm {age} years old.")
f-string 是目前最推荐的格式化方式,简洁高效,便于书写和阅读。
10. 字符串常用方法(简述)
字符串是不可变对象,但可以通过多种内置方法进行处理,常用方法包括:
方法 | 功能说明 |
---|---|
lower() | 转为小写 |
upper() | 转为大写 |
strip() | 去除首尾空白字符 |
replace(a, b) | 替换子串 a 为 b |
split(sep) | 按分隔符分割字符串 |
join(list) | 用指定字符连接列表中的字符串 |
示例:
s = " Hello, Python! "
print(s.strip()) # 去除空白
print(s.lower()) # hello, python!
print(s.replace("Python", "World")) # Hello, World!
print(s.split(",")) # [' Hello', ' Python! ']
words = ["Hello", "World"]
print(" ".join(words)) # 输出:Hello World
字符串方法通常返回新字符串,原字符串不变。
课后练习
练习 1:变量与字符串基本操作
# 创建变量 name 和 age,分别赋值为你的名字和年龄,并使用 f-string 输出完整一句话:
# “My name is XXX, and I am XX years old.”
练习 2:字符串处理
# 给定字符串 s = " Hello, Python! ",请使用字符串方法:
# 1. 去掉空格;
# 2. 将其中的 "Python" 替换为 "World";
# 3. 将整个字符串转为小写;
# 并依次输出处理结果。
练习 3:索引与切片
# 给定字符串 word = "programming"
# 1. 打印第一个和最后一个字符;
# 2. 取出前三个字符;
# 3. 将字符串反转输出。
参考答案
# 练习 1
name = "Alice"
age = 20
print(f"My name is {name}, and I am {age} years old.")
# 练习 2
s = " Hello, Python! "
print(s.strip())
print(s.strip().replace("Python", "World"))
print(s.strip().replace("Python", "World").lower())
# 练习 3
word = "programming"
print(word[0], word[-1])
print(word[:3])
print(word[::-1])
11. 数字(Numbers)
在 Python 中,数字是最基本的数据类型之一。Python 支持多种数字类型,并提供了丰富的运算符和函数来操作这些数字。
数字的类型
Python 中常见的数字类型有以下三种:
类型 | 描述 | 示例 |
---|---|---|
int | 整数 | 10 , -5 , 0 |
float | 浮点数(小数) | 3.14 , -0.5 |
complex | 复数(进阶使用) | 1+2j |
我们平时使用最多的是 int
和 float
。
a = 10 # 整数 int
b = 3.14 # 浮点数 float
c = 2 + 3j # 复数 complex
可以使用 type()
查看数据类型:
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
基本运算符
Python 支持多种常用的数学运算:
运算符 | 含义 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 3 + 2 | 5 |
- | 减法 | 3 - 2 | 1 |
* | 乘法 | 3 * 2 | 6 |
/ | 除法(结果为 float) | 5 / 2 | 2.5 |
// | 整除(向下取整) | 5 // 2 | 2 |
% | 取余 | 5 % 2 | 1 |
** | 幂运算 | 2 ** 3 | 8 |
示例:
print(7 + 2) # 9
print(7 - 2) # 5
print(7 * 2) # 14
print(7 / 2) # 3.5
print(7 // 2) # 3
print(7 % 2) # 1
print(2 ** 3) # 8
类型转换
Python 提供内置函数在数字类型之间进行转换:
int(3.8) # 转为整数,结果为 3(舍去小数部分)
float(5) # 转为浮点数,结果为 5.0
complex(2) # 转为复数,结果为 (2+0j)
注意:
int("10") # 字符串转整数,结果为 10
float("3.14")# 字符串转浮点数,结果为 3.14
# int("3.14") # 报错!不能直接将带小数点的字符串转 int
常用数学函数与模块
Python 内置了一些基本的数学函数:
abs(-10) # 绝对值:10
round(3.1415, 2) # 四舍五入:3.14
pow(2, 3) # 幂:8,等价于 2 ** 3
如果需要更复杂的数学运算,比如三角函数、对数等,可以使用 math
模块:
import math
math.sqrt(16) # 开平方:4.0
math.ceil(3.2) # 向上取整:4
math.floor(3.8) # 向下取整:3
math.sin(math.pi/2) # 正弦:1.0
数值格式化输出
可以使用格式化字符串控制数字的显示方式:
num = 3.1415926
print(f"{num:.2f}") # 保留 2 位小数:3.14
print(f"{num:10.2f}") # 宽度 10,保留 2 位小数:' 3.14'
课后练习
练习一:计算表达式结果
1. 7 + 3 * 2
2. (7 + 3) * 2
3. 10 / 3
4. 10 // 3
5. 2 ** 4
练习二:使用 math
模块完成以下运算
- 求 144 的平方根
- 向上取整 7.1
- 向下取整 8.9
- 计算 sin(30°) (提示:角度转弧度:
math.radians(30)
)
练习三:类型转换
1. 将字符串 "15" 转为整数
2. 将浮点数 3.99 转为整数
3. 将整数 5 转为浮点数
布尔类型的数 bool
- True 真(表示行,好,成立) 值为1
- False 假(表示不行,不好,不成立) 值为0
引用类型(复合类型)
- 列表(list):可变序列,用于存储一组值,可以包含不同类型的元素。
- 元组(tuple):不可变序列,用于存储一组值,元素不能被修改。
- 字典(dict):键值对映射,用于存储关联性数据,由键和对应的值组成。
- 集合(set):无序集合,用于存储唯一的元素,不允许重复。
- 枚举类型(Enum):本质上是一个类,它是标准库中的
enum
模块提供的一个功能,用于创建有限的、命名的枚举类型 - 自定义类(class):创建自定义类来表示复杂的数据结构,具有自定义属性和方法。
按照是否可以修改划分:
- 不可变数据:Number(数字)、String(字符串)、Tuple(元组)
- 可变数据:List(列表)、Dictionary(字典)、Set(集合)
4. del删除变量
可以通过使用del语句删除单个或多个对象的引用
del var
del var_a, var_b
x=100
del x
print(x)#报错name 'x' is not defined
当然可以!以下是将你提供的内容整理成的一篇活泼易懂、适合发布在 CSDN 的 Markdown 博客文章,内容通俗、有表情、有图案小点缀,适合初学者阅读:
🐍八、Python 数字操作大合集(超实用!)
🍭1.数字类型转换
在 Python 中,数字类型有很多种(比如整型、浮点型、复数等),有时候我们需要把一种类型转换成另一种,比如把小数变整数,把整数转字符串等等,这时候就要用到类型转换函数啦!
🎈常见的转换函数有:
函数 | 作用 |
---|---|
int(x) | 把 x 转换为整数 |
float(x) | 把 x 转换为浮点数 |
bin(x) | 转换为二进制 |
oct(x) | 转换为八进制 |
hex(x) | 转换为十六进制 |
complex(x) | 转换为复数,虚部为0 |
complex(x, y) | x 是实部,y 是虚部 |
bool(x) | 转换为布尔值:True 或 False |
🔍举个栗子:
print(int(20.5)) # 20
print(float(20)) # 20.0
print(bin(3)) # 0b11
print(oct(20)) # 0o24
print(hex(29)) # 0x1d
print(complex(10, 3)) # (10+3j)
🎯常用类型转换函数:
函数 | 说明 |
---|---|
str(x) | 转成字符串 |
int(x) | 转成整数 |
float(x) | 转成浮点数 |
bool(x) | 转成布尔值 |
💡例子来咯:
>>> age = input("请输入年龄: ") # 假设输入 35
>>> int(age) # 输出: 35
>>> str(3.14) # 输出: '3.14'
>>> bool(3.14) # 输出: True
❗Python中的假值对象
这些在逻辑判断中会被当作 False 👇
None, False, 0, 0.0, '', [], {}, set()
🏃♂️课后练习:
写个小程序,输入年龄,打印出去年和明年的年龄(用到类型转换)
age = int(input("请输入您的年龄: "))
print("去年您", age - 1, "岁")
print("明年您", age + 1, "岁")
✨2.运算符汇总
📌a). 算术运算符
运算符 | 含义 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法(结果总是浮点数) |
// | 整除(向下取整) |
% | 取余 |
** | 幂运算(x 的 y 次方) |
📚例子展示:
print(17 / 3) # 5.666...
print(17 // 3) # 5
print(17 % 3) # 2
print(2**3) # 8
🚀练习题挑战:
- 💰13 元一个西瓜,100 元可以买几个,还剩几元?
xigua_price = 13
money = 100
print("可以买", money // xigua_price, "个西瓜")
print("剩余", money % xigua_price, "元")
- ⏰现在是 18:02:31,请计算从 0:0:0 到现在过了多少秒?
seconds = 18 * 3600 + 2 * 60 + 31
print("从凌晨到现在过去了", seconds, "秒")
- 🧮现在距离凌晨过去了 63320 秒,请算出现在是几点几分几秒?
total_seconds = 63320
hours = total_seconds // 3600
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60
print(f"现在是 {hours}时{minutes}分{seconds}秒")
📌b). 比较运算符
运算符 | 含义 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
🔍注意:
==
比较的是值是否相等is
比较的是是不是同一个对象(地址)
x = 15
print(5 < x < 20) # True
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True
print(a is c) # False
📌c). 逻辑运算符
运算符 | 含义 |
---|---|
and | 与(都为 True 才为真) |
or | 或(至少一个为 True 就为真) |
not | 非(取反) |
🧪示例:
print(True and False) # False
print(3.14 and 5) # 5
print(0.0 and 5) # 0.0
print(3.14 or 5) # 3.14
print(not 3.14) # False
print(not 0.0) # True
💡判断奇偶数:
num = int(input("请输入一个整数: "))
if num % 2 == 0:
print("这是一个偶数")
else:
print("这是一个奇数")
⚙️3.位运算符
专属进阶小伙伴的内容来了!Python 也支持操作二进制位,非常适合搞底层、搞嵌入式的小伙伴~
运算符 | 含义 |
---|---|
& | 按位与 |
` | ` |
^ | 按位异或 |
~ | 按位取反 |
<< | 左移 |
>> | 右移 |
🔎例子速览:
a = 0b1011 # 11
b = 0b1101 # 13
print(bin(a & b)) # 0b1001 -> 9
print(bin(a | b)) # 0b1111 -> 15
print(bin(a ^ b)) # 0b0110 -> 6
print(bin(~a)) # -0b1100 -> -12
print(a << 1) # 22,相当于乘以2
print(a >> 1) # 5,相当于除以2取整
⚙️4. 赋值运算符
-
=
:赋值 -
+=
:加法赋值 -
-=
:减法赋值 -
*=
:乘法赋值 -
/=
:除法赋值 -
%=
:取余赋值 -
**=
:幂运算赋值 -
//=
:整除赋值注意:
没有 a++、 a-- 这种自增自减运算符;
x=100
x%=3
print(x)#1
⚙️5.运算符的优先级
1 + 3 * 3 ** 2 + 4 // 2
1 + 3 * 9 + 4 // 2
1 + 27 + 4 // 2
1 + 27 + 2
28 + 2
30
- 运算符优先级表
运算符 | 描述 |
---|---|
(expressions...) ,[expressions...] , {key: value...} , {expressions...} | 绑定或加圆括号的表达式,列表显示,字典显示,集合显示 |
x[index] , x[index:index] , x(arguments...) , x.attribute | 抽取,切片,调用,属性引用 |
** | 乘方 |
+x , -x , ~x | 正,负,按位非 NOT |
* , / , // , % | 乘,除,整除,取余 |
+ , - | 加和减 |
<< , >> | 移位 |
& | 按位与 AND |
^ | 按位异或 XOR |
` | ` |
in , not in , is , is not , < , <= , > , >= , != , == | 比较运算,包括成员检测和标识号检测 |
not x | 布尔逻辑非 NOT |
and | 布尔逻辑与 AND |
or | 布尔逻辑或 OR |
if – else | 条件表达式 |
lambda | lambda 表达式 |
:= | 赋值表达式 |
🐍 九、条件语句详解:if、elif、else和三元表达式 🌈
🎯 1.if 条件语句的基本结构
在 Python 中,条件语句的结构长这样:
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
...
else:
语句块n
✍️ 注意:
elif
可以写 0 个、1 个或者多个;else
可写可不写,但最多只能写 1 个,并且必须放最后;- 程序从上往下判断,一旦有条件成立,对应的代码块就执行,后面的就不看了;
💡 就像咱们在点外卖时:
“如果我想吃火锅,那就点海底捞;
如果想吃烤肉,那就选韩式自助;
否则……就泡面吧 🍜。”
是不是很有画面感!
🧠 2.最简单的 if 判断
year = 1993
if year % 4 == 0:
print("year能被4整除")
👉 如果 year % 4 == 0
这个条件为真(也就是 year 是 4 的倍数),就会打印那行话。
🌓 3.if - else
当你想处理“对 vs 错”、“成立 vs 不成立”两种情况时,就用 if-else
!
year = 1993
if year % 4 == 0:
print("year能被4整除")
else:
print("year不能被4整除")
🗣 逻辑就像这样:
“如果他是双数,那我请他吃饭,
否则,让他请我!”🤭
🧩 4.if - elif - else 多选一
比如我们想判断年份能否被 4 或 400 整除:
year = 1992
if year % 4 == 0:
print("year能被4整除")
elif year % 400 == 0:
print("year能被400整除")
else:
print("year不能被4,400整除")
🔥 多条件判断必备神器!
📌 5.嵌套 if 语句
有时候,我们还需要在一个判断里面再套一个判断:
if xxxx:
if yyyy > 0:
print('.....')
else:
print("小于等于0")
else:
print("hello")
就像问:
“你今天开心吗?
如果开心:你是因为脱单了吗?还是吃到好吃的了?
否则:要不要我请你喝奶茶 🧋?”
🧪 6.三元表达式:简洁版 if-else
想一行搞定判断?那就试试 Python 的三元表达式(也叫条件表达式)👇
<表达式1> if <条件> else <表达式2>
🌰 举个栗子:
x = 5
y = 10
result = "x 更大" if x > y else "y 更大"
print(result) # 输出:y 更大
🔁 上面的写法相当于:
if x > y:
result = "x 更大"
else:
result = "y 更大"
💬 简洁不失优雅,适合简单选择!
🎓 7.课后小练习(带你轻松上手!)
✅ 练习1:
写一个程序,输入一个整数,判断是正数、负数还是零。
num = int(input("请输入一个整数:"))
if num > 0:
print("正数")
elif num < 0:
print("负数")
else:
print("零")
✅ 练习2:
写一个程序,输入学生成绩(0-100),如果成绩 ≥60 提示“及格”,否则提示“不及格”。
score = int(input("请输入成绩:"))
if 60 <= score <= 100:
print("及格")
else:
print("不及格")
✅ 练习3:
写一个程序,根据成绩输出等级:
score = int(input("请输入成绩:"))
if 0 <= score < 60:
print("不及格")
elif 60 <= score < 80:
print("及格")
elif 80 <= score < 90:
print("良好")
elif 90 <= score <= 100:
print("优秀")
else:
print("输入有误")
🔍 注意:
- 区间表示:[ ) 是左闭右开,比如
[60,80)
表示包含60,不包含80; - 合理判断分数的合法性(不能小于0也不能大于100)是编程好习惯!
🥳 最后小结一下!
关键词 | 用法 | 示例 |
---|---|---|
if | 条件成立时执行 | if x > 0: |
else | 所有条件都不成立时执行 | else: |
elif | 多重判断,else 前使用 | elif x == 0: |
三元表达式 | 一行 if-else | x if cond else y |
📚 拓展阅读
- Python 官方文档 -
str
类型 - Python 编码规范 PEP8:https://peps.python.org/pep-0008/
觉得这篇文章有帮助的话,点赞 + 收藏 + 留言三连支持一下吧!💖