【基础】Python入门:从安装到第一个程序
发布时间: 2024-06-28 22:20:52 阅读量: 83 订阅数: 139
Python编程:从入门到实践1
![【基础】Python入门:从安装到第一个程序](https://img-blog.csdnimg.cn/72bdcb0c935448f494d6c200dc25a0d3.png)
# 2.1 Python安装与环境配置
Python是一种跨平台的编程语言,可以在不同的操作系统上运行。要使用Python,首先需要在计算机上安装Python解释器。
**Windows系统安装Python:**
1. 访问Python官方网站(https://www.python.org/downloads/)下载最新版本的Python安装程序。
2. 运行安装程序,按照提示完成安装。
3. 验证安装是否成功:打开命令行窗口,输入`python`命令,如果显示Python版本信息,则安装成功。
**MacOS系统安装Python:**
1. 使用Homebrew安装Python:`brew install python`
2. 验证安装是否成功:打开终端窗口,输入`python`命令,如果显示Python版本信息,则安装成功。
**Linux系统安装Python:**
1. 使用包管理器安装Python:`sudo apt-get install python3`(Debian/Ubuntu)或`sudo yum install python3`(CentOS/Red Hat)
2. 验证安装是否成功:打开终端窗口,输入`python3`命令,如果显示Python版本信息,则安装成功。
**环境配置:**
安装Python后,需要配置环境变量以方便使用Python命令。
1. 在系统环境变量中添加Python解释器的路径(通常为`/usr/bin/python`或`/usr/bin/python3`)。
2. 添加Python库的路径(通常为`/usr/lib/python3.X`)。
# 2. Python开发环境搭建与基础语法
### 2.1 Python安装与环境配置
**Windows系统安装**
1. 下载Python官方网站提供的Windows安装包。
2. 双击安装包,按照提示进行安装。
3. 安装完成后,在命令行中输入`python --version`验证是否安装成功。
**Linux系统安装**
1. 使用包管理器安装Python:
```
sudo apt-get install python3
```
2. 验证安装:
```
python3 --version
```
**环境配置**
1. **添加环境变量:**
```
# Windows
setx PATH "%PATH%;C:\Python3\Scripts"
# Linux
export PATH=$PATH:/usr/local/bin/python3
```
2. **验证环境变量:**
```
# Windows
echo %PATH%
# Linux
echo $PATH
```
### 2.2 Python基础语法概述
#### 2.2.1 数据类型和变量
**数据类型:**
- 整数(int):10, -20
- 浮点数(float):3.14, -1.618
- 字符串(str):"hello", 'world'
- 布尔值(bool):True, False
- 列表(list):[1, 2, 3], ['a', 'b', 'c']
- 元组(tuple):(1, 2, 3), ('a', 'b', 'c')
- 字典(dict):{'name': 'John', 'age': 30}
**变量:**
变量用于存储数据,使用`=`赋值:
```python
name = "John"
age = 30
```
#### 2.2.2 运算符和表达式
**运算符:**
- **算术运算符:** +, -, *, /, %
- **比较运算符:** ==, !=, >, <, >=, <=
- **逻辑运算符:** and, or, not
**表达式:**
表达式由运算符和操作数组成,用于计算值:
```python
result = 10 + 20
if result > 20:
print("Result is greater than 20")
```
#### 2.2.3 流程控制
**条件语句:**
- **if语句:**
```python
if condition:
# 代码块
```
- **elif语句:**
```python
if condition1:
# 代码块
elif condition2:
# 代码块
```
- **else语句:**
```python
if condition:
# 代码块
else:
# 代码块
```
**循环语句:**
- **for循环:**
```python
for item in iterable:
# 代码块
```
- **while循环:**
```python
while condition:
# 代码块
```
# 3.1 Python数据结构概述
Python提供了一系列内置的数据结构,这些数据结构可以存储和组织各种类型的数据。理解这些数据结构对于高效地处理和管理数据至关重要。
#### 3.1.1 列表
列表是一种可变的有序数据结构,它可以存储任何类型的数据元素。列表使用方括号 `[]` 表示,元素之间用逗号分隔。例如:
```python
my_list = [1, 2, 3, 'hello', [1, 2, 3]]
```
**逻辑分析:**
- `my_list` 是一个列表,包含了 5 个元素:整数、字符串和另一个列表。
- 列表中的元素可以是任何类型,包括其他列表。
- 列表是可变的,这意味着可以添加、删除或修改元素。
#### 3.1.2 元组
元组是一种不可变的有序数据结构,它类似于列表,但不能修改。元组使用小括号 `()` 表示,元素之间用逗号分隔。例如:
```python
my_tuple = (1, 2, 3, 'hello', (1, 2, 3))
```
**逻辑分析:**
- `my_tuple` 是一个元组,包含了 5 个元素:整数、字符串和另一个元组。
- 元组中的元素可以是任何类型,包括其他元组。
- 元组是不可变的,这意味着不能添加、删除或修改元素。
#### 3.1.3 字典
字典是一种无序的数据结构,它存储键值对。键是唯一的标识符,而值可以是任何类型的数据。字典使用大括号 `{}` 表示,键和值之间用冒号 `:` 分隔。例如:
```python
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
```
**逻辑分析:**
- `my_dict` 是一个字典,包含了 3 个键值对:`name`、`age` 和 `city`。
- 字典中的键必须是唯一的,而值可以是任何类型。
- 字典是无序的,这意味着元素的顺序不会被保留。
# 4.1 Python面向对象编程概述
### 4.1.1 类和对象
在面向对象编程(OOP)中,类是用于创建对象的蓝图。它定义了对象的属性和方法。对象是类的实例,具有自己的属性和方法。
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def get_name(self):
return self.name
def get_age(self):
return self.age
```
在这个示例中,`Person` 类定义了两个属性(`name` 和 `age`)和两个方法(`get_name` 和 `get_age`)。要创建 `Person` 对象,可以使用以下代码:
```python
person1 = Person("John", 30)
```
`person1` 是 `Person` 类的实例,具有 `name` 和 `age` 属性。
### 4.1.2 继承和多态
继承允许一个类(子类)从另一个类(父类)继承属性和方法。子类可以重写父类的方法,以提供自己的实现。
```python
class Employee(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.salary = salary
def get_salary(self):
return self.salary
```
`Employee` 类继承了 `Person` 类,并添加了 `salary` 属性和 `get_salary` 方法。
多态允许子类对象以与父类对象相同的方式被使用。这意味着子类对象可以被分配给父类变量,并且父类方法可以调用子类方法。
```python
person2 = Employee("Jane", 25, 50000)
print(person2.get_name()) # 输出:Jane
print(person2.get_age()) # 输出:25
print(person2.get_salary()) # 输出:50000
```
在上面的示例中,`person2` 是 `Employee` 类的对象,但它可以被分配给 `Person` 类的变量。`get_name` 和 `get_age` 方法是父类的方法,但它们可以被子类对象调用。
# 5.1 Python文件操作
### 5.1.1 文件读写操作
Python提供了丰富的文件操作函数,可以轻松地对文件进行读写操作。
**打开文件**
```python
with open('file.txt', 'w') as f:
f.write('Hello, world!')
```
* `open()`函数打开一个文件,并返回一个文件对象。
* `w`参数指定文件打开模式为写入模式。
* `with`语句确保在操作完成后自动关闭文件。
**读取文件**
```python
with open('file.txt', 'r') as f:
content = f.read()
```
* `read()`方法读取整个文件的内容并返回一个字符串。
* `r`参数指定文件打开模式为读取模式。
**写入文件**
```python
with open('file.txt', 'w') as f:
f.write('Hello, world!')
```
* `write()`方法将字符串写入文件。
* `w`参数指定文件打开模式为写入模式,如果文件不存在,则创建文件。
### 5.1.2 文件属性和权限
Python提供了多种方法来获取和设置文件属性和权限。
**获取文件属性**
```python
import os
file_path = 'file.txt'
file_size = os.path.getsize(file_path)
file_ctime = os.path.getctime(file_path)
```
* `os.path.getsize()`函数获取文件大小(字节)。
* `os.path.getctime()`函数获取文件创建时间。
**设置文件权限**
```python
import os
file_path = 'file.txt'
os.chmod(file_path, 0o644)
```
* `os.chmod()`函数设置文件的权限。
* `0o644`参数表示用户和组具有读写权限,其他用户具有只读权限。
# 6.1 Python网络编程
### 6.1.1 Socket编程基础
Socket是网络编程的基础,它允许应用程序通过网络进行通信。Python提供了`socket`模块来支持Socket编程。
**创建Socket**
```python
import socket
# 创建一个TCP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
**绑定Socket**
```python
# 绑定socket到一个IP地址和端口
sock.bind((HOST, PORT))
```
**监听Socket**
```python
# 监听传入连接
sock.listen(5)
```
**接受连接**
```python
# 接受一个传入连接并返回一个新的socket和客户端地址
conn, addr = sock.accept()
```
**发送和接收数据**
```python
# 发送数据到客户端
conn.send(b'Hello world!')
# 接收数据从客户端
data = conn.recv(1024)
```
**关闭Socket**
```python
# 关闭socket
sock.close()
```
### 6.1.2 HTTP请求和响应
HTTP(超文本传输协议)是Web上使用的协议。Python提供了`requests`库来简化HTTP请求和响应的处理。
**发送HTTP请求**
```python
import requests
# 发送一个GET请求
response = requests.get('https://example.com')
# 发送一个POST请求
response = requests.post('https://example.com', data={'name': 'John', 'age': 30})
```
**处理HTTP响应**
```python
# 获取响应状态码
response.status_code
# 获取响应内容
response.content
# 获取响应头信息
response.headers
```
0
0