Python基础语法:掌握10个核心概念,轻松构建程序
发布时间: 2024-06-20 06:28:52 阅读量: 87 订阅数: 34
![Python基础语法:掌握10个核心概念,轻松构建程序](https://img-blog.csdnimg.cn/20190925200548446.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODczMTY2OQ==,size_16,color_FFFFFF,t_70)
# 1. Python基础语法**
Python是一种高级编程语言,以其易读性、可扩展性和广泛的库而闻名。其语法基于关键字,并使用缩进表示代码块。
Python中的基本数据类型包括数字、字符串、布尔值、列表、元组、字典和集合。变量用于存储值,并使用赋值运算符(=)进行赋值。
Python支持各种流程控制结构,包括条件语句(if、elif、else)和循环语句(for、while)。这些结构允许程序根据特定条件执行不同的代码块。
# 2. Python数据类型和变量
### 2.1 数据类型和转换
Python是一种动态类型语言,这意味着变量的数据类型在运行时确定。Python支持多种内置数据类型,包括数字、字符串、布尔值、列表、元组、字典和集合。
#### 2.1.1 数字类型
Python支持整数、浮点数和复数等数字类型。整数可以用十进制、八进制或十六进制表示,浮点数用小数点表示,复数用`a+bj`形式表示。
```python
# 十进制整数
num1 = 10
# 八进制整数
num2 = 0o12 # 等于 10
# 十六进制整数
num3 = 0x10 # 等于 16
# 浮点数
num4 = 3.14
# 复数
num5 = 1 + 2j
```
#### 2.1.2 字符串类型
字符串是文本数据,可以用单引号或双引号表示。字符串支持转义字符,如`\n`表示换行符,`\t`表示制表符。
```python
# 单引号字符串
str1 = 'Hello World'
# 双引号字符串
str2 = "Hello World"
# 转义字符
str3 = "Hello\nWorld" # 换行
str4 = "Hello\tWorld" # 制表符
```
#### 2.1.3 布尔类型
布尔类型表示真假值,只有两个值:`True`和`False`。
```python
# True
bool1 = True
# False
bool2 = False
```
#### 2.1.4 列表类型
列表是可变有序集合,可以存储不同类型的数据。列表用方括号表示,元素用逗号分隔。
```python
# 创建列表
list1 = [1, 2, 3, 'a', 'b', 'c']
# 访问元素
print(list1[0]) # 输出 1
# 修改元素
list1[0] = 10
# 添加元素
list1.append('d')
# 删除元素
list1.remove('b')
```
#### 2.1.5 元组类型
元组是不可变有序集合,与列表类似,但不能修改元素。元组用圆括号表示,元素用逗号分隔。
```python
# 创建元组
tuple1 = (1, 2, 3, 'a', 'b', 'c')
# 访问元素
print(tuple1[0]) # 输出 1
# 元组不可修改
# tuple1[0] = 10 # 会报错
```
#### 2.1.6 字典类型
字典是无序映射,用于存储键值对。键必须是唯一的,值可以是任何数据类型。字典用大括号表示,键和值用冒号分隔。
```python
# 创建字典
dict1 = {'name': 'John', 'age': 30, 'city': 'New York'}
# 访问值
print(dict1['name']) # 输出 John
# 添加键值对
dict1['job'] = 'Software Engineer'
# 删除键值对
del dict1['city']
```
#### 2.1.7 集合类型
集合是无序且不重复元素的集合。集合用大括号表示,元素用逗号分隔。
```python
# 创建集合
set1 = {1, 2, 3, 'a', 'b', 'c'}
# 访问元素
print(set1) # 输出 {1, 2, 3, 'a', 'b', 'c'}
# 添加元素
set1.add('d')
# 删除元素
set1.remove('b')
```
### 2.2 变量和赋值
变量用于存储数据。变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。变量赋值使用等号(`=`)。
```python
# 声明变量
name = 'John'
age = 30
# 访问变量
print(name) # 输出 John
```
# 3.1 条件语句
条件语句用于根据条件判断来执行不同的代码块。在 Python 中,条件语句使用 `if`、`elif` 和 `else` 关键字。
### 3.1.1 if 语句
`if` 语句用于检查一个条件是否为真,如果为真,则执行其后的代码块。语法如下:
```python
if condition:
# 条件为真时执行的代码块
```
例如:
```python
age = 20
if age >= 18:
print("成年人")
```
### 3.1.2 elif 语句
`elif` 语句用于检查另一个条件是否为真,如果为真,则执行其后的代码块。`elif` 语句只能出现在 `if` 语句之后。语法如下:
```python
if condition1:
# 条件1为真时执行的代码块
elif condition2:
# 条件2为真时执行的代码块
```
例如:
```python
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
```
### 3.1.3 else 语句
`else` 语句用于检查所有条件都不为真时执行的代码块。`else` 语句只能出现在所有 `if` 和 `elif` 语句之后。语法如下:
```python
if condition1:
# 条件1为真时执行的代码块
elif condition2:
# 条件2为真时执行的代码块
else:
# 所有条件都不为真时执行的代码块
```
例如:
```python
gender = "男"
if gender == "男":
print("男性")
elif gender == "女":
print("女性")
else:
print("未知性别")
```
# 4.1 类和对象
### 4.1.1 类定义
类是 Python 中用于创建对象的模板。它定义了对象的数据和行为。类使用 `class` 关键字定义,后跟类名。类名应遵循 Python 命名约定,以大写字母开头。
```python
class MyClass:
# 类属性
class_attribute = "class_value"
# 构造函数
def __init__(self, name, age):
# 实例属性
self.name = name
self.age = age
```
### 4.1.2 对象创建
对象是类的实例。要创建对象,请使用 `class_name()` 语法,其中 `class_name` 是类的名称。对象具有类定义的所有属性和方法。
```python
# 创建 MyClass 的对象
my_object = MyClass("John", 30)
# 访问对象属性
print(my_object.name) # 输出:John
print(my_object.age) # 输出:30
```
### 4.1.3 对象属性和方法
对象属性是存储在对象中的数据。对象方法是定义在类中的函数,用于操作对象数据。
**对象属性:**
* **实例属性:**由 `self` 关键字定义,特定于每个对象。
* **类属性:**由 `class_name.attribute_name` 访问,在所有对象之间共享。
**对象方法:**
* **实例方法:**由 `self` 关键字定义,用于操作对象数据。
* **类方法:**由 `@classmethod` 装饰器定义,用于操作类数据。
* **静态方法:**由 `@staticmethod` 装饰器定义,不使用 `self` 或类数据。
```python
# 实例方法
def get_name(self):
return self.name
# 类方法
@classmethod
def get_class_attribute(cls):
return cls.class_attribute
# 静态方法
@staticmethod
def add_numbers(a, b):
return a + b
```
# 5.1 模块导入
### 5.1.1 import 语句
import 语句用于导入一个模块,使其成为当前程序的一部分。语法如下:
```python
import module_name
```
其中,`module_name` 为要导入的模块名称。例如:
```python
import math
```
导入 math 模块后,就可以使用该模块中的函数和变量。
### 5.1.2 from...import 语句
from...import 语句用于从一个模块中导入特定的函数或变量。语法如下:
```python
from module_name import function_name, variable_name
```
其中,`module_name` 为要导入的模块名称,`function_name` 为要导入的函数名称,`variable_name` 为要导入的变量名称。例如:
```python
from math import sin, cos
```
导入 sin 和 cos 函数后,就可以直接使用这两个函数,而无需指定模块名称。
#### 导入别名
from...import 语句还可以使用别名来导入函数或变量。语法如下:
```python
from module_name import function_name as alias_name
```
其中,`alias_name` 为要使用的别名。例如:
```python
from math import sin as sine
```
导入 sin 函数并使用别名 sine 后,就可以使用 sine 来调用该函数。
#### 导入所有
from...import 语句还可以使用星号(*)来导入模块中的所有函数和变量。语法如下:
```python
from module_name import *
```
例如:
```python
from math import *
```
导入 math 模块的所有函数和变量后,就可以直接使用这些函数和变量,而无需指定模块名称或别名。
#### 导入子模块
如果一个模块包含子模块,可以使用点号(.)来导入子模块。语法如下:
```python
import module_name.submodule_name
```
例如:
```python
import os.path
```
导入 os.path 子模块后,就可以使用该子模块中的函数和变量。
# 6.1 文件操作
文件操作是Python中一项重要的任务,它允许我们与文件系统交互,读写数据。
### 6.1.1 文件读写
**读文件**
```python
# 打开文件,以只读模式('r')打开
with open('myfile.txt', 'r') as f:
# 读取文件内容
data = f.read()
```
**写文件**
```python
# 打开文件,以写模式('w')打开
with open('myfile.txt', 'w') as f:
# 写入文件内容
f.write('Hello, world!')
```
**追加文件**
```python
# 打开文件,以追加模式('a')打开
with open('myfile.txt', 'a') as f:
# 追加文件内容
f.write('This is a new line.')
```
### 6.1.2 文件属性和权限
**文件属性**
```python
# 获取文件属性
import os
file_stats = os.stat('myfile.txt')
print(file_stats)
```
**文件权限**
```python
# 获取文件权限
print(os.access('myfile.txt', os.R_OK)) # 检查文件是否可读
print(os.access('myfile.txt', os.W_OK)) # 检查文件是否可写
print(os.access('myfile.txt', os.X_OK)) # 检查文件是否可执行
```
**设置文件权限**
```python
# 设置文件权限
os.chmod('myfile.txt', 0o755) # 设置文件权限为可读、可写、可执行
```
0
0