python基础快速入门
基础语法
变量和数据类型
- Python 中有多种数据类型,如整数(int)、浮点数(float)、字符串(str)、布尔值(bool)等。
- 变量的命名规则:由字母、数字和下划线组成,不能以数字开头。
- 示例:
1 | age = 25 |
运算符
- 算术运算符:+、-、*、/、%、**、//。
- 比较运算符:==、!=、>、<、>=、<=。
- 逻辑运算符:and、or、not。
- 赋值运算符:=、+=、-=、*=、/= 等。
- 示例:
1 | a = 10 |
控制流语句
在 Python 中,主要有三种基本程序结构:顺序结构、选择结构和循环结构。
一、顺序结构
顺序结构是最简单的程序结构,按照代码的先后顺序依次执行。
例如:
1 | a = 10 |
二、选择结构
选择结构根据条件判断来决定执行哪些代码。
在 Python 中主要使用if
语句、if...else
语句和if...elif...else
语句。
1. if
语句:
1 | num = 5 |
2. if...else
语句:
1 | num = -5 |
3. if...elif...else
语句:
1 | num = 0 |
三、循环结构
循环结构用于重复执行一段代码。
Python 中有for
循环和while
循环。
1. for
循环:
1 | for i in range(5): |
2. while
循环:
1 | count = 0 |
数据结构
列表(List)
- 列表是一种可变序列,可以存储不同类型的元素。
- 列表的操作:索引、切片、添加元素、删除元素、排序等。
- 示例:
1 | my_list = [1, 2, "three", True] |
元组(Tuple)
- 元组是一种不可变序列,可以存储不同类型的元素。
- 元组的操作:索引、切片等。
- 示例:
1 | my_tuple = (1, 2, "three", True) |
字典(Dictionary)
- 字典是一种无序的键值对集合,键必须是唯一的且不可变的数据类型。
- 字典的操作:添加键值对、删除键值对、访问值等。
- 示例:
1 | my_dict = {"name": "Alice", "age": 25, "is_student": True} |
集合(Set)
- 集合是一种无序的、不包含重复元素的集合。
- 集合的操作:添加元素、删除元素、交集、并集、差集等。
- 示例:
1 | my_set = {1, 2, 3, 4} |
函数
定义函数
- 使用
def
关键字定义函数,函数可以有参数和返回值。 - 示例:
1 | def add_numbers(a, b): |
函数参数
- 位置参数:按照参数的位置传递。
- 关键字参数:通过参数名传递。
- 默认参数:在函数定义时指定参数的默认值。
- 可变参数:使用
*args
和**kwargs
接收任意数量的位置参数和关键字参数。 - 示例:
1 | def my_function(a, b, c=0, *args, **kwargs): |
面向对象的编程
在 Python 中,面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将数据和对数据的操作封装在对象中,通过定义类来创建对象。
一、类和对象
类是对象的模板或蓝图,它定义了对象的属性(数据)和方法(行为)。对象是类的实例化,每个对象都有自己的独立状态和行为。
例如,定义一个名为 “Person” 的类:
1 | class Person: |
可以通过以下方式创建 “Person” 类的对象:
1 | person1 = Person("Alice", 25) |
二、属性和方法
1. 属性:
- 类的属性可以分为实例属性和类属性。
- 实例属性是每个对象独有的,通过在
__init__
方法中定义并使用self
关键字来访问。 - 类属性是所有对象共享的,可以在类定义中直接定义,通过类名或对象名访问。
例如:
1 | class Circle: |
2. 方法:
- 方法是与类相关联的函数,用于定义对象的行为。
- 方法可以分为实例方法、类方法和静态方法。
- 实例方法第一个参数是
self
,代表对象本身,可以访问对象的属性和其他方法。 - 类方法第一个参数是
cls
,代表类本身,可以访问类属性和其他类方法,使用@classmethod
装饰器定义。 - 静态方法与类和对象无关,不能访问类属性和实例属性,使用
@staticmethod
装饰器定义。
例如:
1 | class MathUtils: |
三、封装、继承和多态
封装:
- 封装是将数据和操作数据的方法封装在类中,对外提供访问接口,隐藏内部实现细节。
- 通过使用私有属性(以双下划线开头,如
__private_attr
)和私有方法(以双下划线开头,如__private_method
)来实现封装。
例如:
1 | class BankAccount: |
继承:
- 继承是一种创建新类的方式,新类可以继承现有类的属性和方法,并且可以添加新的属性和方法。
- 在 Python 中,使用类名后的括号中指定父类来实现继承。
例如:
1 | class Animal: |
多态:
- 多态是指不同的对象对同一消息有不同的响应方式。
- 在 Python 中,多态通过方法重写和方法重载来实现。
- 方法重写是子类重写父类中的方法,以实现不同的行为。
- 方法重载在 Python 中可以通过使用默认参数或可变参数来实现类似的效果。
例如:
1 | class Shape: |
Python文件操作
通过面向对象编程,可以提高代码的可维护性、可扩展性和可重用性。在 Python 中可以方便地进行文件操作,主要包括文件的打开、读取、写入和关闭等操作。
一、打开文件
使用open()
函数来打开文件,它返回一个文件对象。
语法:file_object = open(file_name, mode)
file_name
:要打开的文件名,可以是相对路径或绝对路径。mode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
:打开文件的模式,常见的模式有:
- `'r'`:只读模式,文件必须存在,否则会抛出错误。
- `'w'`:写入模式,如果文件存在则会被覆盖,如果文件不存在则会创建一个新文件。
- `'a'`:追加模式,如果文件存在,新内容会被追加到文件末尾,如果文件不存在则会创建一个新文件。
- `'x'`:独占创建模式,文件必须不存在,否则会抛出错误。
- `'b'`:二进制模式,可以与其他模式结合使用,如`'rb'`表示以二进制只读模式打开文件。
- `'t'`:文本模式(默认),可以与其他模式结合使用,如`'rt'`表示以文本只读模式打开文件。
例如:
```python
# 以只读模式打开一个文本文件
file = open('example.txt', 'r')
二、读取文件
1.使用read()
方法可以读取文件的全部内容。
1 | content = file.read() |
2.使用readline()
方法可以读取文件的一行内容。
1 | line = file.readline() |
3.使用readlines()
方法可以读取文件的所有行,并以列表形式返回。
1 | lines = file.readlines() |
三、写入文件
\1. 使用write()
方法可以向文件写入内容。
1 | file = open('example.txt', 'w') |
\2. 使用writelines()
方法可以向文件写入一个字符串列表。
1 | lines = ['Line 1\n', 'Line 2\n', 'Line 3\n'] |
四、关闭文件使用close()方法关闭文件,释放资源。
使用close()
方法关闭文件,释放资源。
1 | file.close() |
为了确保文件在使用后被正确关闭,也可以使用with
语句,它会在代码块执行完毕后自动关闭文件
1 | with open('example.txt', 'r') as file: |
五、文件指针操作
文件对象有一个指针,指向当前读取或写入的位置。可以使用seek()
方法移动文件指针。
1 | file = open('example.txt', 'r') |
六、文件属性和方法
文件对象有一些属性和方法可以获取文件的信息和进行其他操作。
name
属性:返回文件的名称。closed
属性:判断文件是否已关闭。flush()
方法:刷新文件内部缓冲区,将数据立即写入文件。
例如:
1 | file = open('example.txt', 'r') |