一、python有什么用
Python是一种高级编程语言,由Guido van Rossum于1980年代末开发,并在1991年首次发布。它具有以下几个特点:
-
易于学习和使用:Python语法简洁、清晰,强调代码的可读性,使得新手能够更容易地上手编程。
-
跨平台性:Python可以运行在多种操作系统上,包括Windows、macOS、Linux等,具有良好的跨平台支持。
-
广泛的应用领域:Python被广泛应用于各种领域,如Web开发、数据科学、人工智能、自动化脚本、网络编程、游戏开发等。
-
丰富的标准库和第三方库:Python提供了一个强大的标准库,涵盖了许多常见的编程任务。此外,Python拥有大量的第三方库,可以帮助开发者快速实现各种功能。
-
面向对象与解释性:Python是面向对象的语言,支持类和对象的概念。同时,Python是一种解释性语言,代码在执行时逐行解释,无需编译,这使得开发和调试更为方便。
Python在程序员中非常受欢迎,尤其是在数据科学和机器学习领域,成为了很多开发者的首选工具。
二、怎么安装python3
在不同的操作系统上安装Python 3的步骤有所不同,以下是针对Windows、macOS和Linux的安装指南。
这里插播一条粉丝福利,如果你正在学习Python或者有计划学习Python,想要突破自我,对未来十分迷茫的,可以点击这里获取最新的Python学习资料和学习路线规划(免费分享,记得关注
1.在Windows上安装Python3
-
下载安装程序:
-
访问Python官方网站。
-
点击顶部导航栏的“Downloads”选项。
-
网站会自动检测你的操作系统,点击“Download Python 3.x.x”按钮下载最新版本的Python 3安装程序。
-
-
运行安装程序:
-
下载完成后,运行安装程序。
-
在安装界面上,勾选“Add Python 3.x to PATH”选项,这样你可以在命令提示符中直接使用
python
命令。 -
点击“Install Now”开始安装。
-
-
验证安装:
- 安装完成后,打开命令提示符(Cmd),输入以下命令来检查安装是否成功:
python --version
-
如果安装成功,你会看到类似于
Python 3.x.x
的版本信息。
- 安装完成后,打开命令提示符(Cmd),输入以下命令来检查安装是否成功:
2. 在macOS上安装Python 3
-
使用Homebrew安装(推荐):
- 如果你没有安装Homebrew,可以先通过终端安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装Homebrew后,通过以下命令安装Python 3:
brew install python
- 如果你没有安装Homebrew,可以先通过终端安装Homebrew:
-
验证安装:
- 在终端输入以下命令来检查Python 3是否安装成功:
python3 --version
-
如果安装成功,你会看到类似于
Python 3.x.x
的版本信息。
- 在终端输入以下命令来检查Python 3是否安装成功:
3. 在Linux上安装Python 3
大多数Linux发行版已经预装了Python 3,但如果没有或需要安装最新版本,可以按照以下步骤操作。
-
使用包管理器安装:
- 在Debian或Ubuntu上,使用以下命令安装:
sudo apt update sudo apt install python3
- 在Fedora上,使用以下命令安装:
sudo dnf install python3
- 在Debian或Ubuntu上,使用以下命令安装:
-
验证安装:
- 在终端输入以下命令来检查Python 3是否安装成功:
python3 --version
-
如果安装成功,你会看到类似于
Python 3.x.x
的版本信息。
- 在终端输入以下命令来检查Python 3是否安装成功:
安装完成后,你就可以开始使用Python 3进行编程了。如果需要安装第三方库,可以使用pip
,这是Python的包管理工具,例如:
pip install requests
三、python基础知识
在用python写代码时,要先掌握好python的基础知识,不然写项目时寸步难行。基础知识包括输入,输出等等,下面跟着我来学习下吧!
1. 输入输出
定义:
输入输出是程序与用户或其他程序交互的方式。输入用于获取用户或外部数据,输出则是将结果展示给用户或传递给其他程序。
使用方法:
-
输入:使用
input()
函数从用户处获取输入,默认情况下,input()
函数接收到的输入是字符串类型。 -
输出:使用
print()
函数输出信息到控制台。
示例:
# 输入
name = input("请输入你的名字: ")
age = input("请输入你的年龄: ")
# 输出
print("你好,", name, "你今年", age, "岁。")
2. 变量
定义:
变量是用来存储数据的容器,在Python中,变量不需要显式声明类型,直接赋值即可。
使用方法:
-
使用等号
=
进行赋值,左侧是变量名,右侧是值。
示例:
# 定义变量
x = 10
y = 20
name = "Alice"
# 输出变量值
print(x, y, name)
3. 数据类型
定义:
Python支持多种数据类型,常见的数据类型包括整数、浮点数、字符串、布尔值和复杂类型如列表、元组、字典等。
使用方法:
-
整数:
int
类型,如10
-
浮点数:
float
类型,如3.14
-
字符串:
str
类型,如"Hello"
-
布尔值:
bool
类型,如True
或False
示例:
# 整数
a = 10
# 浮点数
b = 3.14
# 字符串
c = "Hello"
# 布尔值
d = True
print(a, b, c, d)
4. 表达式
定义:
表达式是由变量、常量、运算符和函数调用组成的代码片段,能够计算并返回一个值。
使用方法:
-
表达式可以是简单的算术运算,如
2 + 3
-
也可以是函数调用,如
len("hello")
示例:
# 算术表达式
result = 2 + 3 * 5
print(result)
# 函数调用表达式
length = len("hello")
print(length)
5. 运算符
定义:
运算符用于执行操作,比如算术运算、比较、逻辑运算等。
常见运算符:
-
算术运算符:
+
,-
,*
,/
,//
,%
,**
-
比较运算符:
==
,!=
,>
,<
,>=
,<=
-
逻辑运算符:
and
,or
,not
-
赋值运算符:
=
,+=
,-=
,*=
,/=
示例:
# 算术运算
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) # 幂运算
# 比较运算
print(a > b) # 大于
print(a == 10) # 等于
# 逻辑运算
print(a > 5 and b < 2) # 与
print(not (a > 5)) # 非
6. 流程控制
定义:
流程控制用于控制程序的执行顺序,包括条件语句和循环语句。
使用方法:
-
条件语句:
if
,elif
,else
用于根据条件执行不同的代码块。 -
循环语句:
for
,while
用于重复执行代码块。
示例:
# 条件语句
x = 10
if x > 5:
print("x大于5")
elif x == 5:
print("x等于5")
else:
print("x小于5")
# 循环语句
for i in range(5):
print("循环第", i + 1, "次")
# while循环
count = 0
while count < 5:
print("while循环第", count + 1, "次")
count += 1
7. 列表
定义:
列表是Python中的一种数据结构,可以存储多个有序的元素,元素类型可以不同。
使用方法:
-
列表用方括号
[]
定义,元素之间用逗号分隔。 -
可以通过索引访问列表元素,索引从
0
开始。
示例:
# 定义列表
fruits = ["apple", "banana", "cherry"]
# 访问列表元素
print(fruits[0]) # 输出"apple"
# 修改列表元素
fruits[1] = "orange"
print(fruits)
# 添加元素
fruits.append("mango")
print(fruits)
# 删除元素
fruits.remove("cherry")
print(fruits)
8. 元组
定义:
元组与列表类似,但元组是不可变的,一旦定义,无法修改其中的元素。
使用方法:
-
元组用圆括号
()
定义。
示例:
# 定义元组
coordinates = (10, 20)
# 访问元组元素
print(coordinates[0]) # 输出10
# 元组元素不可修改
# coordinates[0] = 15 # 这会引发错误
# 元组解包
x, y = coordinates
print(x, y)
9. 字符串
定义:
字符串是字符的有序序列,用于表示文本数据。
使用方法:
-
字符串用单引号
'
或双引号"
括起来。 -
可以用索引访问字符,支持切片操作。
示例:
# 定义字符串
greeting = "Hello, World!"
# 访问字符串中的字符
print(greeting[0]) # 输出'H'
# 字符串切片
print(greeting[0:5]) # 输出'Hello'
# 字符串拼接
name = "Alice"
message = greeting + " " + name
print(message)
# 字符串格式化
formatted_message = f"你好, {name}, 欢迎来到Python世界!"
print(formatted_message)
10. 字典
定义:
字典是一种存储键值对的数据结构,每个键(key)与一个值(value)关联,键必须是唯一的。
使用方法:
-
字典用花括号
{}
定义,键值对用冒号:
分隔,多个键值对用逗号,
分隔。
示例:
# 定义字典
student = {
"name": "John",
"age": 20,
"courses": ["Math", "Computer Science"]
}
# 访问字典中的值
print(student["name"]) # 输出'John'
# 修改字典中的值
student["age"] = 21
print(student)
# 添加键值对
student["grade"] = "A"
print(student)
# 删除键值对
del student["courses"]
print(student)
11. 函数
定义:
函数是执行特定任务的代码块,可以重复使用。函数可以接收输入参数,并返回输出结果。
使用方法:
-
使用
def
关键字定义函数,函数名后跟括号,括号内是参数列表,函数体用缩进表示。
示例:
# 定义函数
def greet(name):
message = f"Hello, {name}!"
return message
# 调用函数
print(greet("Alice"))
# 定义一个带有默认参数的函数
def greet_with_time(name, time_of_day="morning"):
message = f"Good {time_of_day}, {name}!"
return message
print(greet_with_time("Bob"))
print(greet_with_time("Charlie", "evening"))
以上就是Python的一些基础知识。掌握这些基础概念之后,你就可以开始编写自己的Python程序啦
四、综合项目练习
学完了上面的基础知识后,可以尝试写一个综合性项目来检验一下学习成果,在这里我创建了一个简单的 学生管理系统来实践一下,它将包括以下功能:
-
学生信息管理:添加、删除、修改和查看学生信息。
-
成绩管理:记录、更新和查看学生的成绩。
-
统计分析:统计班级的平均成绩,最高和最低分等。
项目将会涵盖多个Python基础知识点,包括文件操作、函数、类与对象、异常处理、列表与字典操作、模块与包等。
项目结构
student_management_system/
├── student.py # 学生类
├── management.py # 管理系统类
├── main.py # 主程序入口
└── data/
└── students.txt # 学生数据存储文件
代码实现
1. student.py
文件
class Student:
def __init__(self, student_id, name, age):
self.student_id = student_id
self.name = name
self.age = age
self.scores = {}
def add_score(self, subject, score):
self.scores[subject] = score
def update_score(self, subject, score):
if subject in self.scores:
self.scores[subject] = score
else:
print(f"{subject} not found for {self.name}")
def get_average_score(self):
if not self.scores:
return 0
return sum(self.scores.values()) / len(self.scores)
def __str__(self):
return f"ID: {self.student_id}, Name: {self.name}, Age: {self.age}, Scores: {self.scores}"
2. management.py
文件
import os
import pickle
from student import Student
class ManagementSystem:
def __init__(self, data_file='data/students.txt'):
self.students = {}
self.data_file = data_file
self.load_data()
def load_data(self):
if os.path.exists(self.data_file):
with open(self.data_file, 'rb') as file:
self.students = pickle.load(file)
def save_data(self):
with open(self.data_file, 'wb') as file:
pickle.dump(self.students, file)
def add_student(self, student_id, name, age):
if student_id in self.students:
print(f"Student ID {student_id} already exists.")
else:
student = Student(student_id, name, age)
self.students[student_id] = student
self.save_data()
def remove_student(self, student_id):
if student_id in self.students:
del self.students[student_id]
self.save_data()
else:
print(f"Student ID {student_id} not found.")
def update_student(self, student_id, name=None, age=None):
student = self.students.get(student_id)
if student:
if name:
student.name = name
if age:
student.age = age
self.save_data()
else:
print(f"Student ID {student_id} not found.")
def add_score(self, student_id, subject, score):
student = self.students.get(student_id)
if student:
student.add_score(subject, score)
self.save_data()
else:
print(f"Student ID {student_id} not found.")
def view_student(self, student_id):
student = self.students.get(student_id)
if student:
print(student)
else:
print(f"Student ID {student_id} not found.")
def get_statistics(self):
total_scores = [student.get_average_score() for student in self.students.values()]
if not total_scores:
return None, None, None
avg_score = sum(total_scores) / len(total_scores)
max_score = max(total_scores)
min_score = min(total_scores)
return avg_score, max_score, min_score
def __str__(self):
return '\n'.join(str(student) for student in self.students.values())
3. main.py
文件
from management import ManagementSystem
def main():
system = ManagementSystem()
while True:
print("\nStudent Management System")
print("1. Add Student")
print("2. Remove Student")
print("3. Update Student")
print("4. Add Score")
print("5. View Student")
print("6. View Statistics")
print("7. Exit")
choice = input("Enter your choice: ")
if choice == '1':
student_id = input("Enter student ID: ")
name = input("Enter student name: ")
age = input("Enter student age: ")
system.add_student(student_id, name, age)
elif choice == '2':
student_id = input("Enter student ID to remove: ")
system.remove_student(student_id)
elif choice == '3':
student_id = input("Enter student ID to update: ")
name = input("Enter new name (or leave blank): ")
age = input("Enter new age (or leave blank): ")
system.update_student(student_id, name, age)
elif choice == '4':
student_id = input("Enter student ID: ")
subject = input("Enter subject: ")
score = int(input("Enter score: "))
system.add_score(student_id, subject, score)
elif choice == '5':
student_id = input("Enter student ID to view: ")
system.view_student(student_id)
elif choice == '6':
avg, max_score, min_score = system.get_statistics()
print(f"Average Score: {avg}, Max Score: {max_score}, Min Score: {min_score}")
elif choice == '7':
break
else:
print("Invalid choice, please try again.")
if __name__ == "__main__":
main()
项目运行
-
在命令行中进入项目目录,并运行
main.py
:python main.py
-
根据提示进行学生信息的管理、成绩录入以及统计分析。
项目功能总结
-
学生信息管理:增删改查学生信息。
-
成绩管理:为学生添加和更新成绩。
-
统计分析:统计学生平均成绩、最高分和最低分。
这个项目不仅涉及到基本的Python编程技巧,还涵盖了文件操作、对象管理、用户输入处理等内容,是一个较为综合的练习项目。如果你想要扩展这个项目,还可以增加更多功能,例如不同学科的成绩排名,成绩曲线图的绘制,用户权限管理等。
全套Python学习资料分享:
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
三、python入门资料大全
四、python进阶资料大全
五、python爬虫专栏
六、入门学习视频全套
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
七、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
八、python最新面试题
获取资料:保存二维码,微信扫下方官方二维码即可领取: